使用 expss::val_lab 将相同的值标签添加到多个数据框列

问题描述 投票:0回答:1

我正在尝试使用 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))
r expss lab val
1个回答
0
投票

您可以像这样将标签应用于整个数据框:

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) 
© www.soinside.com 2019 - 2024. All rights reserved.