我有两个excel文件,它们最初来自SPSS数据集。一个有值,另一个有标签。有没有一种简单的方法可以将这两个来源组合起来,并将其保存为标记的SPSS数据集?输入如下:
ds1 <- data.frame(ID=1:12, COUNTRY=rep(1:6, each =2), REGION=rep(1:2, each =6))
ds2 <- data.frame(ID=1:12, COUNTRY_lab=rep(c("US","CA","MX","DE","FR","IT"),each=2), REGION_lab=rep(c("NA","EU"), each =6))
这就是我想要的结构作为结果:
library(haven)
ds3 <- labelled(ds1$COUNTRY, c(US = 1, CA = 2, MX =3, DE = 4, FR = 5, IT = 6))
- 如何自动进行匹配
- 如何对整个数据集(而不是像我的示例中那样只有一列(执行此操作
您可以在合并两个数据集后创建一个命名向量。
library(haven)
ds3 <- merge(ds1, ds2)
ds4 <- labelled(ds3$COUNTRY, setNames(unique(ds3$COUNTRY), unique(ds3$COUNTRY_lab)))
ds4
#<labelled<integer>[12]>
# [1] 1 1 2 2 3 3 4 4 5 5 6 6
#Labels:
# value label
# 1 US
# 2 CA
# 3 MX
# 4 DE
# 5 FR
# 6 IT