R语言 生信

R语言之输入数据的列名格式问题

2019-05-10  本文已影响135人  Oodelay

昨天帮师妹处理数据,简单的线性拟合,探究βNTI与SOC差异之间的相关性。

然而,就是这么个简单的问题,竟然翻车了!!!
而且是数据读取环节, R也没有报错或者提醒。
幸得师妹通过其他方式验证,才发现了问题所在。

师妹说,她通过mantel和spss计算的结果,均显示两者显著相关,为啥我做出的结果不相关?

咦??问题出在哪儿??

出在数据读取环节!

因为对数据格式不了解,大眼一看,就直接操作了

dat = read.table(file.choose(), header = T, row.names = 1)

查看读取的文件


错误版本

读取过程无报错或者警示。接着进行后续分析。


错误版本

经过两人校对,发现是数据列名格式不统一,导致数据读取出错

windows记事本中展示数据

soil fertility是以空格为分隔符,而ses.mntd是以.为分隔符
read.table()默认是以空格为分隔符,所以,soil fertility一列就被拆成了两列,导致数据发生混乱

dat = read.table(file.choose(), header = T, row.names = 1,sep = '\t')
正确版本
正确版本

教训

未解之谜

在数据读取环节,像这个情况,一列被拆分为两列,那这样会出现数据部分和列名部分维度不一致的情况,R为啥没有报错?而是自定义的从后往前保留列名,将原始数据中的第一个列名给删除了?

上一篇下一篇

猜你喜欢

热点阅读