使用向量标记R中的变量
我有一个向量,如下所示使用向量标记R中的变量,r,stata,R,Stata,我有一个向量,如下所示 label_names<-c("A","B","C") label\u name根据我有限的经验,R不像Stata那样频繁地使用标签。你仍然可以做到。您需要两个软件包:expss和haven: 在r中,使用expss::apply_labels分配变量标签和值标签。我仅将变量标签用于演示: df <- data.frame(year = c(2017, 2018, 2019), age = c(25, 30, 40),
label_names<-c("A","B","C")
label\u name根据我有限的经验,R
不像Stata
那样频繁地使用标签。你仍然可以做到。您需要两个软件包:expss
和haven
:
在r
中,使用expss::apply_labels
分配变量标签和值标签。我仅将变量标签用于演示:
df <- data.frame(year = c(2017, 2018, 2019),
age = c(25, 30, 40),
bmi = c(23.2, 28.3, 32))
# assign labels in r
df = expss::apply_labels(df,
year = "Survey year",
age = "Age, years",
bmi = "BMI, kg/m2"
)
# export to Stata
haven::write_dta(df, "havenstata.dta")
虽然有一些解决方案,但我认为在导出到Stata
后,在Stata
中标记数据可能更容易 “分配”是什么意思?是否要将其作为第四个变量添加到数据帧中?还是要将列名(var1、var2、var3)更改为标签名称?或者你想用标签名称的标签从你的变量中提取一个因子(这在这里没有意义,因为标签与唯一的可能性不匹配)?也许attr(df,“label_names”)names(df)当我应用你提到的方法导出数据时,STATA仍然不显示变量标签@Annet标签名称和列名遵循相同的顺序,因此标签不需要匹配唯一的可能性。
df <- data.frame(year = c(2017, 2018, 2019),
age = c(25, 30, 40),
bmi = c(23.2, 28.3, 32))
# assign labels in r
df = expss::apply_labels(df,
year = "Survey year",
age = "Age, years",
bmi = "BMI, kg/m2"
)
# export to Stata
haven::write_dta(df, "havenstata.dta")
. des
Contains data from C:\...\havenstata.dta
obs: 3
vars: 3 24 Dec 2019 22:17
size: 72
------------------------------------------------------------------------------------------------------
storage display value
variable name type format label variable label
------------------------------------------------------------------------------------------------------
year double %10.0g Survey year
age double %10.0g Age, years
bmi double %10.0g BMI, kg/m2
------------------------------------------------------------------------------------------------------
Sorted by: