最近做RNA-seq项目的时候准备用R的boxplot()工具画一个各个样品的箱线统计图。然而,在运行脚本后报错
Error in `[.data.frame`(fpkm, , c("MB7409-A", "MB7409-B", "MB7409-C", :
undefined columns selected
Calls: [ -> [.data.frame
Execution halted
抓取数据列的命令哪里错了呢?打开输入的数据框和脚本做对比
数据是这样的
获取数据列的脚本是这样的对需要比较的数据列输入应该是正确的,但是为什么会报错?别急,我们用R读取文件后再看看
如图所示表头的样品名称里的符号“-”居然变成了“.”原来,特殊符号(如:-、(、?、%等)不能直接被read.table()识别,两个方法:
一个是根据读取文本修改读取列
第二个是可以在read.table()增加check.names=F,避免符号被修改于是,将脚本重新修改,脚本正常运行,得到箱线图技巧总结:
1.遇到undefined columns selected 的问题一定是获取列的文本与数据列不对应
2.眼见也不一定为实
特殊符号需要敏感,尽量不要使用特殊符号命名样品;
受兼容性影响,在windows系统生成的文本,在记事本中很多异常符号是显示不出来,可能在liunx系统里不支持(如空格,回车符等);