如何在read.spss之后访问R data.frame列描述

Cas*_*man 9 r dataframe

我使用库外部read.spss函数导入了一个SPSS .sav文件.

dataset = read.spss("data.sav", to.data.frame=TRUE)
Run Code Online (Sandbox Code Playgroud)

我想访问列描述,但无法解决如何以编程方式访问它们.我可以在RStudio的数据查看器中看到这些,在粗体列名称下面的标题中.

图片来源:http://i.stack.imgur.com/PgIO5.png

scr*_*les 12

使用避风套餐中的read_sav函数(Hadley Wickham的另一个很棒的软件包)导入数据可能会更好.

阅读'sav'文件:

dd <- read_sav("SomeFile.sav")

head(dd)[,1:10]

methods(as_factor)
table(dd$District)
class(dd$District)
class(dd$Date)
lapply(dd, class)   # some variables have labels and others don't
lapply(dd, class) %>% head
Run Code Online (Sandbox Code Playgroud)

'已标记'变量具有显示其变量标签('label')及其值标签('labels')的属性

dd$Region
attributes(dd$Region)
Run Code Online (Sandbox Code Playgroud)

您可以阅读变量标签:

attr(dd$Region, 'label')
Run Code Online (Sandbox Code Playgroud)

您可以更改变量标签:

attr(dd$Region, 'label') <- 'a new label for Region'
attr(dd$Region, 'label')
Run Code Online (Sandbox Code Playgroud)

同样适用于价值标签

attr(dd$Region, 'labels')
Run Code Online (Sandbox Code Playgroud)

要更改名称,您需要更改属性的"名称"

names(attr(dd$Region, 'labels')) <- c("NE","Nyanza","West")
attr(dd$Region, 'labels')
Run Code Online (Sandbox Code Playgroud)

  • `attributes(dd$Region)` 仅获取 1 列的标签。我们如何将完整的数据框和单独的行或列中的相同数据框转换为单独的行或数据框? (2认同)