我有一个10分的利克特刻度表,看起来是这样的:
> head(dsidata$Mood_2)
[1] Great Great Bad Good Great So-so
Levels: Couldn't be worse Very bad Bad Meh So-so Okay Good Very Good Great Really great我想要‘合并’类别,使因素的数量减少到5个。选择选项“不能更糟”或“非常糟糕”的受访者将被分配到新的“非常负面”的类别,直到这10个因素减少到5个。
我们非常感谢您对此的任何帮助。
发布于 2018-05-24 12:28:16
我肯定你的变量被归类为一个因素。所以,就用这种方法合并一些因素吧。
set.seed(42) # for reproducibility
# mimicking your data
df1 <- data.frame(var=rdunif(100, 10))
df1$var <- factor(df1$var, 1:10, labels=c("Couldn't be worse", "Very bad",
"Bad", "Meh", "So-so", "Okay",
"Good", "Very Good", "Great",
"Really great"))
df1$var1 <- df1$var
# merging levels
levels(df1$var1) <- list("Very negative"=c("Couldn't be worse", "Very bad"),
"negative" = c("Bad", "Meh"),
"neutral" = c("So-so", "Okay"),
"positive"=c("Good", "Very Good"),
"very positive"=c("Great", "Really great"))产量
> tail(df1, 10)
var var1
91 Very bad Very negative
92 Very Good positive
93 Very bad Very negative
94 Very bad Very negative
95 Couldn't be worse Very negative
96 Couldn't be worse Very negative
97 Okay neutral
98 Very bad Very negative
99 Very Good positive
100 Very Good positive发布于 2018-05-24 11:53:41
它取决于您的数据集,但您可以:
dsidata$Mood_2_newscale <- ifelse(dsidata$Mood_2 %in% c("Couldn't be worse","Very bad"),
"Very negative",
dsidata$Mood_2)https://stackoverflow.com/questions/50508386
复制相似问题