2017-03-15 28 views
1

使用自定义变量时,尝试运行优势比分析时收到以下错误。警告消息'+'对因素无意义

dat1 <- escalc(measure="OR", ai=a, bi=b, ci=c, di=d, data=dat.turnover) 
warnings(dat1) 

警告信息: 1:在Ops.factor(AI,BI): '+' 没有意义的因素 错误猫(列表(...),文件,九月,填充,标签,附加): 参数2(类型“列表”)不能“猫”

我使用a的所有数据,bc进行处理,并d是数字。

+0

即使他们是他们仍然可以被编码为数字的因素。尝试用as.numeric()包装它们并查看是否修复了错误。 – Kristofersen

+1

尝试通过'is.factor(a)'测试变量是否为因子。 –

回答

1

无需访问您的数据,我可以说的最好的是,任何试图总结factor变量(尝试检查其str()确保[R知道他们是数字,并没有考虑他们)将导致impuned NA值或者例外。我看到这个Ops.factor()错误的唯一时间是数据是因素而不是数字。

这就是说,确保数值计算我会尝试:

dat.turnover$a <- as.numeric(dat.turnover$a) 
dat.turnover$b <- as.numeric(dat.turnover$b) 
dat.turnover$c <- as.numeric(dat.turnover$c) 
dat.turnover$d <- as.numeric(dat.turnover$d) 

dat1 <- escalc(measure="OR", ai=a, bi=b, ci=c, di=d, data=dat.turnover)