我试图绘制一个简单的病毒载量和试验组箱形图,但不断出现此错误“x[floor(d)] + x[ceiling(d)]中的错误:二元运算符“”的非数值参数。
数据集
PatientID trial_arm viral_load
1 club 19
2 clinic 19
3 club 19
4 club 64
5 clinic 32
6 clinic 29
7 clinic 92
8 club 19
9 clinic 19
10 club 27
当我运行代码时:
> boxplot(dataset,viral_load~trial_arm)
Error in x[floor(d)] + x[ceiling(d)] :
non-numeric argument to binary operator
trial_arm变量设置为因子,viral_load为数值。
4条答案
按热度按时间dffbzjpn1#
这也发生在我身上,但后来我意识到我把响应变量和预测变量的顺序放错了。
箱线图(响应~预测因子,数据=数据集)
omvjsjqw2#
jay.sf在评论中提出的解决方案很有效。在运行代码以生成箱线图时,还需要使用
ggplot()
,即ggplot() + boxplot(viral_load ~ trial_arm, dataset)
slsn1g293#
我也遇到了同样的问题,我通过交换变量来解决这个问题,然后用“$”符号来解决这个问题。我首先使用int变量,然后使用~,最后使用字符串变量。所以在您的例子中,它将是
boxplot(dataset$viral_load ~ dataset$trial_arm)
oewdyzsn4#
我的问题,创造了这个错误是,我正在使用欧洲格式的数据文件,因此有逗号分隔小数,而不是点分隔。用点代替逗号后,一切都很好。