嗯,我想要基于每个文件共享的第一列并排加入114个文件,这是ID编号。每个文件由2列和400000多行组成。我用write.table
将这些表格连接在一张表格中,并在头文件中获得了X。例如,我的头应该是这样的:改变标题的SED命令
ID 1_sample1 2_sample2 3_sample3
,但我得到这样的:
ID X1_sample1 X2_sample2 X3_sample3
我读到这个问题,并发现了check.names
摆脱这个问题的,但对我来说当我使用check.names
我得到以下错误:
"unused argument (check.name = F)"
因此,我决定用sed来解决这个问题,它实际上的伟大工程,但它加入了2号线和1号线。例如,我的第一栏和第二栏应该是这样的:
ID 1_sample1 2_sample2 3_sample
cg123 .0235 2.156 -5.546
,但我得到,而不是执行以下操作:
ID 1_sample1 2_sample2 3_sample cg123 .0235 2.156 -5.546
任何一个可以检查这个代码给我,谢谢。我可能做了一些错误的事情,不让每条线与另一条线分开。
head -n 1 inFILE | tr "\t" "\n" | sed -e 's/^X//g' | sed -e 's/\./-/' | sed -e 's/\./(/' |sed -e 's/\./)/' | tr "\n" "\t" > outFILE
tail -n +2 beta.norm.txt >> outFILE
尝试改善您的拼写和您的格式,确保我们能理解你的意思。另外,一些示例输入和期望的输出将会很有帮助。 – fedorqui
改进的格式将有所帮助,但肯定有一种方法可以在R中正确完成要查找的内容。你可以分享一些实际的数据(粘贴'dput(head(yourdata)'')的结果)。 – Justin
多个字段的文本处理通常最容易使用'awk'完成。显示一个“输入行”和“所需的输出行”,解释你想达到的差异,你会得到一些很好的答案。 – Floris