Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access R data.frame column descriptions after read.spss

Tags:

dataframe

r

I have imported an SPSS .sav file using the library foreign read.spss function.

dataset = read.spss("data.sav", to.data.frame=TRUE)

I want to access the column descriptions but can't work out how to access them programmatically. I can see these in the data viewer in RStudio, in the header just below the bold column names.

Image here: http://i.stack.imgur.com/PgIO5.png

like image 575
Caspar Addyman Avatar asked Jul 16 '15 18:07

Caspar Addyman


1 Answers

You may be better off importing the data using the read_sav function from the haven package (another great package from Hadley Wickham).

Read a 'sav' file:

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

The 'labelled' variables have attributes to show their variable label ('label') and their value labels ('labels')

dd$Region
attributes(dd$Region)

You can read a variable label:

attr(dd$Region, 'label')

You can change a variable label:

attr(dd$Region, 'label') <- 'a new label for Region'
attr(dd$Region, 'label')

same for value labels

attr(dd$Region, 'labels')

to change the names, you need to change the 'names' of the attribute

names(attr(dd$Region, 'labels')) <- c("NE","Nyanza","West")
attr(dd$Region, 'labels')
like image 79
scribbles Avatar answered Sep 19 '22 12:09

scribbles