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

R语言multicon::composite()数据含NA时所有行返回NA问题咨询

问题核心原因

1. 反向计分参数不完整

你指定了R=2要求对第2列做反向计分,但没有配套传入min和max参数定义量表的计分范围,函数无法执行反向计分计算,直接返回全量NA结果。BFI量表为1-7分制,反向计分逻辑为最小分值+最大分值-原始分,缺少范围参数时计算逻辑会直接中断。

2. 注意nomiss参数的定义差异

multicon::composite的nomiss参数定义为允许的最大缺失比例上限,和很多同类量表计分函数的参数逻辑相反:nomiss=0.8代表单行缺失值占比不超过80%即可参与计算,你的示例数据3列最多允许2个缺失,仅第一行有1个缺失,符合阈值要求,不是本次全NA的核心原因,后续调整列数时注意该差异即可。


修复后可正常运行的代码

library(multicon)
BFI_1 <- c(NA,7,6,1,3,3)
BFI_6 <- c(5,7,2,7,7,7)
BFI_11 <- c(2,5,6,3,3,5)
data <- cbind(BFI_1, BFI_6, BFI_11)

# 方案1:不需要反向计分,移除R参数即可运行
multicon::composite(data, nomiss = .8)

# 方案2:确实需要对第2列反向计分,补充计分范围参数
multicon::composite(data,
                     R = 2,
                     min = 1,
                     max =7,
                     nomiss = .8)

额外兼容建议

如果调整后仍有异常,可以尝试:

  • 升级multicon包到最新正式版,旧版本存在矩阵输入的兼容bug
  • 将输入数据转为data.frame格式,规避矩阵输入的兼容问题:
data <- data.frame(BFI_1, BFI_6, BFI_11)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:36:07