- 最近做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系统里不支持(如空格,回车符等);
转载:https://blog.csdn.net/yangl7/article/details/109200964
查看评论