You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R转换Likert量表数值为因子出现NA及绘图报错如何解决

问题根源

你代码中的因子转换逻辑存在错误:原始a、b列是1-5的数值类型,你直接将因子的levels参数设置为李克特文本标签,数值和level无法匹配,导致所有值转换后都变为NA,后续绘图没有有效输入就抛出了类型转换错误。

修正方案

修改因子转换代码,同时指定对应原始数值的levels和用于显示的labels参数即可,完整修正代码如下:

df <- as.data.frame(data) 

# 定义李克特选项显示标签
factorLabels <- c('Strongly Disagree', 'Disagree', 'Neither', 'Agree', 'Strongly Agree') 

# 修正因子转换逻辑:levels对应原始1-5的数值,labels对应显示的文本标签
df[2:3] <- lapply(df[2:3], factor, levels = 1:5, labels = factorLabels) 

library(likert)
df_likert <- likert(df[,c(2:3)], grouping = df$type) 
plot(df_likert)
额外注意事项
  • 转换前先检查原始a、b列的数值范围,确认所有值都在1-5区间内,异常值会导致转换后出现额外NA
  • 若运行仍报错,可先重新安装likert包,排除版本兼容性问题

内容的提问来源于stack exchange,提问作者Jonas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:06:01