r-将两个带有标签和值的excel数据集合并为一个带有SPSS标签的数据集



我有两个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))
  1. 如何自动进行匹配
  2. 如何对整个数据集(而不是像我的示例中那样只有一列(执行此操作

您可以在合并两个数据集后创建一个命名向量。

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

最新更新