Sometimes, when you explore a new dataset, variable names don’t make much sense. In SPSS you would just look at the labels, in R it’s not that straightforward: checking codebooks all the time is tedious, reading a questionnaire and trying to guess which variable corresponds to each question is even less reliable. If your data has labels as attributes, or you have read .sav datafile into R with haven or foreign package, it would be handy to have a searchable table of all the variable and value labels in the dataset. I looked it up and didn’t find such a function, so I have written a little simple function myself.
UPD. Now this function is a part of my R package LittleHelpers.
The function gets the attributes of variables and value labels and put them in a nicely formatted table.
Use:
label_book(df, max.val=25, vars="all", view=TRUE)
There are three arguments:
df– data.frame, result of reading spss file by packages ‘haven’ or ‘foreign’max.vals– integer, how many value labels per each variable shoud be listed in the table, default is 25vars– can be integer, character, or range of integers or characters. Variables indexes or names for getting subsets of label book.view– logical, whether the result should be shown in the RStudio viewer pane. Defualt is TRUE. If FALSE, html file named ‘label_book_output.html’ is saved in your working directory.
The only extra package required is knitr.
Example
# Read the data
ess8<- haven::read_sav("ESS8e01.sav")
# Download the function
eval(parse(text=getURL("https://raw.githubusercontent.com/MaksimRudnev/LittleHelpers/master/label_book/label_book.R")))
# Use the function
label_book(ess8, max.vals=11, vars=45:50)
Result
Label Book for “ess8”
| Variables | Variable labels | Values | Value labels |
|---|---|---|---|
| contplt | Contacted politician or government official last 12 months | 1 | Yes |
| 2 | No | ||
| 7 | Refusal | ||
| 8 | Don’t know | ||
| 9 | No answer | ||
| wrkprty | Worked in political party or action group last 12 months | 1 | Yes |
| 2 | No | ||
| 7 | Refusal | ||
| 8 | Don’t know | ||
| 9 | No answer | ||
| wrkorg | Worked in another organisation or association last 12 months | 1 | Yes |
| 2 | No | ||
| 7 | Refusal | ||
| 8 | Don’t know | ||
| 9 | No answer | ||
| badge | Worn or displayed campaign badge/sticker last 12 months | 1 | Yes |
| 2 | No | ||
| 7 | Refusal | ||
| 8 | Don’t know | ||
| 9 | No answer | ||
| sgnptit | Signed petition last 12 months | 1 | Yes |
| 2 | No | ||
| 7 | Refusal | ||
| 8 | Don’t know | ||
| 9 | No answer | ||
| pbldmn | Taken part in lawful public demonstration last 12 months | 1 | Yes |
| 2 | No | ||
| 7 | Refusal | ||
| 8 | Don’t know | ||
| 9 | No answer |