之前写过一篇运用R时报错的文章R: Error in FUN(left, right) : 二进列运算符中有非数值参数,报错内容为:
Error in FUN(left, right) : 二进列运算符中有非数值参数
原因是导入的“.csv”文件数据列具有非参数类型,进行非参数转换之后问题解决。
然而,在利用R metID包时,又出现了类似的报错内容,如下:
错误: BiocParallel errors
element index: 1, 2, 3, 4, 5, 6, ...
first error: 二进列运算符中有非数值参数
图1 报错内容
总结而言,依旧是数据参数的问题。利用“str()”检查导入的数据列表:
图2 利用str()验证数据类型
结果表明,与原来运行正常的数据相比,新的数据列表中,“RT”一列从原来的“num”变成了“chr”类型,导致运行报错。
解决办法:
知道原因之后,只需要将“RT”一列从“str”变成“num”类型即可。
具体操作:
将“RT”一列从数据集中提取出来转化为参数类型,并再次赋值给这一列即可。代码如下:
msDatabase@RT <- as.numeric(msDatabase@RT)
注:根据数据类型不同,提取数据时也会用“$”符号。