rol*_*and 7 attributes label r
我想$label
从避风港标记的数据集中提取属性,但在使用列索引而不是列名称时总是失败。
我做了什么:
library(haven)
df <- read_sav(mydata.sav)
attributes(df$gender)
#$`label`
#[1] "Are you ...?"
#
#$format.spss
#[1] "F1.0"
#
#$display_width
#[1] 0
#
#$class
#[1] "haven_labelled"
#
#$labels
#
#female male
#
# 1 2
Run Code Online (Sandbox Code Playgroud)
但使用:
attributes(df[,2])
# $`names`
#[1] "gender"
#
#$row.names
#....
#
#$class
#
#[1] "tbl_df" "tbl" "data.frame"
Run Code Online (Sandbox Code Playgroud)
因为数据集中有很多变量,而且我不使用 SPSS,如果有人知道如何通过使用列索引而不是变量名称来解决该问题,那将会非常有帮助
这可以使用提取器来完成,请参阅关于和之间的区别[[
的著名问题。
使用 中的示例进行了测试。[
[[
help('read_spss')
library(haven)
path <- system.file("examples", "iris.sav", package = "haven")
df1 <- read_sav(path)
attributes(df1[[5]])$labels
# setosa versicolor virginica
# 1 2 3
Run Code Online (Sandbox Code Playgroud)