Как установить метки значений для нескольких переменных во фрейме данных, импортированном из SPSS через haven
. Это создает переменные класса haven_labelled
. Я пытаюсь установить метки значений с помощью пакета [labelled][1]
.
#Fake data
var1<-labelled(sample(seq(1,4,1)), labels=NULL)
var2<-labelled(sample(seq(1,4,1)), labels=NULL)
var3<-labelled(sample(seq(1,4,1)), labels=NULL)
#Provide one variable to make sure I can use the vars() function so I can select out a subset of variables to mutate
out<-labelled(sample(seq(1,4,1)), labels=NULL)
df<-data.frame(var1, var2, var3, out)
#Check that these are haven_labelled as my data are
str(df)
df %>%
mutate_at(vars(starts_with('var')),set_value_labels,
"Catholic=1",
"Protestant=2",
"None=3",
"Other=4") %>%
val_labels()
В конце я бы хотел, чтобы каждая из этих четырех переменных имела одинаковые метки значений. Это работает, но я пытаюсь упростить код.
val_labels(df[,c('var1', 'var2', 'var3')])<-c(Catholic=1, Protestant=2, None=3, Other=4)
df
str(df)
as_factor(df)