我有一个5个项目的缩放比例,其中有五个可能,我试图使用包likert
来可视化它。最终目标是为每个构造提供一个图表,显示用户如何使用构面以某种方式回答。该软件包要求所有内容都是我每列使用以下代码完成的一个因素
myscale$scale_1 <- factor (myscale$scale_1,
levels = c(0:5),
labels=c("Unanswered","1","2","3","4","5"))
我认为这是使用lapply将其应用于数据框中所有五列的绝佳方法。我在下面尝试了它但是有点撞墙了。我见过一些例子
lapply(myscale,factor(levels = c(0:5), labels=c("Unanswered","1","2","3","4","5")))
答案 0 :(得分:2)
当我们在没有匿名函数调用的情况下使用lapply
时,新函数的参数可以这样传递。
myscale[] <- lapply(myscale, factor, levels = 0:5,
labels = c("Unanswered", "1", "2", "3", "4", "5"))
如果我们使用匿名函数调用,
myscale[] <- lapply(myscale, function(x) factor(x, levels = 0:5,
labels =c("Unanswered", "1", "2", "3", "4", "5")))
上述内容也可以使用mutate_each
dplyr
完成
library(dplyr)
library(magrittr)
myscale %<>%
mutate_each(funs(factor(., levels = 0:5, labels = c("Unanswered", 1:5))))
set.seed(24)
myscale <- data.frame(scale_1 = sample(0:5, 20, replace=TRUE),
scale_2 = sample(0:5, 20, replace=TRUE))