我正在尝试使用 expss::val_lab 函数将相同的值标签添加到数据框中的多个列,但是 expss 中的任何标签函数都适合我。
#Example data
ex1 <- c(1,1,2,2,3,3,4,4,5,5)
ex2 <- c(5,4,3,2,1,1,2,3,4,5)
ex6 <- c(1,2,3,4,5,1,2,3,4,5)
df <- data.frame(cbind(ex1, ex2, ex6))
#Some of my efforts that don't work
val_lab(list (df$ex1, df$ex2, df$ex6)) <- c ("Awful"=1, "Bad"=2, "Ok"=3, "Good"=4, "Great"=5)
val_lab(c("ex1","ex2","ex6")) <- c("Awful"=1, "Bad"=2, "Ok"=3, "Good"=4, "Great"=5)
let(df,val_lab(c("ex1", "ex2", "ex6")) <- c("Awful"=1, "Bad"=2, "Ok"=3, "Good"=4, "Great"=5))
df=df %>% let(val_lab(c("ex1", "ex2", "ex6")) <- c("Awful"=1, "Bad"=2, "Ok"=3, "Good"=4, "Great"=5))
df=df %>% let(val_lab(c("ex1", "ex2", "ex6")) := c("Awful"=1, "Bad"=2, "Ok"=3, "Good"=4, "Great"=5))
您可以像这样将标签应用于整个数据框:
val_lab(df) <- c("Awful" = 1, "Bad" = 2, "Ok" = 3, "Good" = 4, "Great" = 5)
或者,如果你想命名列:
val_lab(df[c("ex1", "ex2", "ex6")]) <- c("Awful"=1, "Bad"=2, "Ok"=3, "Good"=4, "Great"=5)