R - 在标记数据中将值永久更改为标签
R - changing values to labels permanently in labelled data
我曾与 haven
和 sjlabelled
合作,尝试使用 sav 文件中包含的数据标签。
下面是一些示例数据(真实数据要大得多,有更多的变量、值、标签等,并且所有值都出现了无数次):
library(sjlabelled)
col1 <- c("a", "b", "c")
col2 <- c(1, 2, 3)
df <- data.frame(col1, col2)
labels <- c("x", "y", "z")
df <- set_labels(df, col2, labels = labels)
我知道我可以使用 as_label
使用标签操作数据框,使用这些标签进行子集化等。但是,我想用标签替换值,因为一些 functions/processes 恢复了数据到值并完全删除标签。我无法确定何时会发生这种情况。
使用示例数据,我希望原始数据框最终如下所示,而不是定义新的数据框,只是用标签覆盖值:
col1 <- c("a", "b", "c")
col2 <- c("x", "y", "z") # these were the labels but are now the values
df <- data.frame(col1, col2)
我们可以使用get_labels
df$col2 <- get_labels(df$col2)[df$col2]
-输出
> df
col1 col2
1 a x
2 b y
3 c z
我曾与 haven
和 sjlabelled
合作,尝试使用 sav 文件中包含的数据标签。
下面是一些示例数据(真实数据要大得多,有更多的变量、值、标签等,并且所有值都出现了无数次):
library(sjlabelled)
col1 <- c("a", "b", "c")
col2 <- c(1, 2, 3)
df <- data.frame(col1, col2)
labels <- c("x", "y", "z")
df <- set_labels(df, col2, labels = labels)
我知道我可以使用 as_label
使用标签操作数据框,使用这些标签进行子集化等。但是,我想用标签替换值,因为一些 functions/processes 恢复了数据到值并完全删除标签。我无法确定何时会发生这种情况。
使用示例数据,我希望原始数据框最终如下所示,而不是定义新的数据框,只是用标签覆盖值:
col1 <- c("a", "b", "c")
col2 <- c("x", "y", "z") # these were the labels but are now the values
df <- data.frame(col1, col2)
我们可以使用get_labels
df$col2 <- get_labels(df$col2)[df$col2]
-输出
> df
col1 col2
1 a x
2 b y
3 c z