大家好,欢迎来到IT知识分享网。
- 最近做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系统里不支持(如空格,回车符等);
- 2021.10.19补充:对于列名,纯数字输入默认会加X,如果设置check.names=F,尽管只显示数字,但仍然是字符串形式,而不是数字。因此,在调取列名的时候需要以字符串形式调用。
- 欢迎进群讨论RNA-seq流程相关问题,遇见二维码过期可添加VX:bbplayer2021 ,备注 申请加入生信交流群。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25108.html