使用 Have ::labelled 动态创建值标签的后续问题,其中akrun使用deframe
.
我正在使用 Haven::labelled 来设置变量的值标签。目标是创建一个完整记录的数据集,我可以导出到 SPSS。
现在,假设我有一个 dfvalue_labels
值及其值标签。我还有一个 df df_data
,其中包含我想要分配值标签的变量。
value_labels <- tibble(
value = c(seq(1:6), seq(1:3), NA),
labels = c(paste0("value", 1:6),paste0("value", 1:3), NA),
name = c(rep("var1", 6), rep("var2", 3), "var3")
)
df_data <- tibble(
id = 1:10,
var1 = floor(runif(10, 1, 7)),
var2 = floor(runif(10, 1, 4)),
var3 = rep("string", 10)
)
df_data$var1
手动,我会像这样创建价值标签df_data$var2
:
df_data$var1 <- haven::labelled(df_data$var, labels = c(values1 = 1, values2 = 2, values3 = 3, values4 = 4, values5 = 5, values6 = 6))
df_data$var2 <- haven::labelled(df_data$var, labels = c(values1 = 1, values2 = 2, values3 = 3))
我需要一种更动态的方式来为大型数据集中的正确变量分配正确的值标签。该解决方案还需要忽略character
向量,因为我不希望这些具有值标签。因此,var3
invalue_labels
被列为NA
。
该解决方案不需要处理列表中的多个数据集。