gpt4 book ai didi

r - 使用向量在 R 中标记变量

转载 作者:行者123 更新时间:2023-12-05 03:56:19 26 4
gpt4 key购买 nike

我有一个像下面这样的向量

label_names<-c("A","B","C")

我还有以下数据框

df<- data.frame(var1=1:5,var2=1:5, var3=1:5)

我想做的是将label_names 分配给我的df。然后我想将 data.frame 写成 .dta 文件来读取 Stata 中的标记数据。请注意我的原始向量比这个大,所以我需要一个通用的解决方案。

最佳答案

以我有限的经验,R 不像Stata那样经常使用标签。你仍然可以做到。您需要两个包:expsshaven:

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 中,您可以检查:

. 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:

虽然有一些解决方案,但我认为导出到Stata后在Stata中标记数据可能会更容易。

关于r - 使用向量在 R 中标记变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59467582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com