从 R 中的 SPSS 文件中提取标签
Extracting labels from SPSS files in R
我使用 haven 包将 SPSS 文件导入 R。正如您在下一张图片中看到的,所有变量都有与之关联的标签(例如“2016 年管理年”):
我正在尝试读取这些标签,但是使用这行代码 returns NULL:
attr(X36799_0001_Data[,15], "label")
ant 这行代码也 returns NULL:
attributes(X36799_0001_Data)$variable.labels
任何关于我做错了什么的信息都将不胜感激。谢谢!
只要改变子集化的方式,它就会起作用。
attr(X36799_0001_Data[[15]], "label")
这与R子集的方式有关。这里有一个深入的解释:Subsetting - Advanced R.
您还可以使用包 labelled
来处理 SPSS 标签。在这种情况下,使用 var_label
.
var_label(X36799_0001_Data[, 15])
尝试 "labelled" 包来获取标签
data_label <- t(as.data.frame(标记为::var_label(数据)))
write.csv(data_label, "data_label.csv")
希望对您有所帮助
我使用 haven 包将 SPSS 文件导入 R。正如您在下一张图片中看到的,所有变量都有与之关联的标签(例如“2016 年管理年”):
我正在尝试读取这些标签,但是使用这行代码 returns NULL:
attr(X36799_0001_Data[,15], "label")
ant 这行代码也 returns NULL:
attributes(X36799_0001_Data)$variable.labels
任何关于我做错了什么的信息都将不胜感激。谢谢!
只要改变子集化的方式,它就会起作用。
attr(X36799_0001_Data[[15]], "label")
这与R子集的方式有关。这里有一个深入的解释:Subsetting - Advanced R.
您还可以使用包 labelled
来处理 SPSS 标签。在这种情况下,使用 var_label
.
var_label(X36799_0001_Data[, 15])
尝试 "labelled" 包来获取标签
data_label <- t(as.data.frame(标记为::var_label(数据)))
write.csv(data_label, "data_label.csv")
希望对您有所帮助