今天读入自己的芯片数据发现boxplot
绘图竟然报错了.
boxplot(b,las=2)
Error in x[floor(d)] + x[ceiling(d)] :
non-numeric argument to binary operator
dim(dat1)
根据报错信息,报错显示出现即表达矩阵里面含有非数值型变量的character
(字符)。
试了除去缺失值,不得行,数据本来也没缺失值;又试了转化为numeric,结果也不得行。谷歌搜索了很多解决办法,最后在CSND找到了解决办法,直接把整个矩阵转换为数值型:
b=apply(b,2,as.numeric)#将b矩阵,逐列转为数值型变量,并再次赋值给b
继续boxplot绘图,就成功了。
image.png
但是,这样转换有一个缺点,直接把表达矩阵的行名rowname也给转换了。
思考:报错的原因不是表达矩阵中表达量的数值问题,而应该是行名的问题。
重新赋予行名还是不行。
参考
R 语言中的 箱线图介绍 boxplot https://blog.csdn.net/xiangyong58/article/details/53377399
【R语言报错解决】—存在非数值型变量,Error in c_max * c_min : non-numeric argument to binary operator,如何在数据导入后转为数值型变量?https://blog.csdn.net/weixin_40561293/article/details/100587071
网友评论