RStudio中如何重新排序表格里的有序变量Q11?
解决方案
问题根源:你的
Q11是字符型向量,只有因子(factor)类型变量才有levels属性,所以直接调用levels(Q11)会返回NULL。解决步骤:
- 将
Q11转换为自定义顺序的因子:# 仅用于表格排序的普通因子转换 Q11 <- factor(Q11, levels = c("Absolutely not", "A little bit", "Fairly", "Absolutely yes")) # 若Q11是Likert量表,推荐转成有序因子(保留顺序逻辑) Q11 <- factor(Q11, levels = c("Absolutely not", "A little bit", "Fairly", "Absolutely yes"), ordered = TRUE) - 重新生成交叉表:
table(Nationality, Q11)
- 将
临时转换(不修改原始变量):
如果你不想改动原始的Q11变量,可以直接在table函数内完成转换:table(Nationality, factor(Q11, levels = c("Absolutely not", "A little bit", "Fairly", "Absolutely yes")))注意事项:
先通过unique(Q11)检查Q11的所有唯一取值,确保没有拼写错误或额外选项——如果指定的levels里不包含某个实际取值,该值会被转为NA,影响表格结果。
内容的提问来源于stack exchange,提问作者Silvia Pastorutti
相关产品推荐
相关产品推荐

