【发布时间】:2021-12-26 11:34:57
【问题描述】:
我使用“expss”中的 apply_labels 函数在 R 中添加了变量(以及某些值)标签。当我想使用'write.dta'保存数据并在Stata中打开它(或在R中重新打开新保存的数据)时,标签不会出现。
我怀疑它与 write.dta 文档中的这一行有关:
如果“var.labels”属性包含带有 每个变量的字符串标签,然后将其写为变量 标签。否则,变量名称将作为变量标签重复。
因为这正是正在发生的事情(变量名称作为变量标签重复)。在尝试使用 write.dta 写入数据之前检查 attr(df$variable, "label") 时,会出现标签。
我收到警告消息:
“在 write.dta [...] 中缩写变量名”。
不确定这是否与问题有关。
用于添加变量、标签和写入数据的代码的可重现示例:
library(expss)
library(dplyr)
library(foreign)
df <- data.frame(country = rep(c("NL", "DE", "FR", "AT"), 2),
year = rep(c(2012,2014), 4),
LS_medianpovgap60_disp_wa = c(0.448257605781815, 0.468249874784546, 0.473270740126805, 0.483814288478694, 0.486781335455043, 0.49246341926957, 0.51121872756711, 0.556027028656306))
df <- apply_labels(df,
country = "Country",
year = "Year",
LS_medianpovgap60_disp_wa = "Median shortfall from the poverty thresholds using 60% of the median income, disposable income only households with working age (LIS and SILC average)")
write.dta(df, "df_labelled.dta")
【问题讨论】:
-
您能否提供一个可重现的用于添加变量、标签和写入数据的代码示例?