繁体   English   中英

R中的write.table创建txt文件,然后错误读取

[英]write.table in R creates txt files that it then reads incorrectly

因此,我在MethylKit中工作,该工具具有必须使用txt文件的功能。

我的数据原始文件运行正常,但是由于其他一些问题,我正在通过创建原始文件的子集来进行故障排除。

为此,我正在使用:

write.table(head(Sample_101, n=100),"shorty_101.txt", col.names = FALSE, 
sep = "\t", row.names = TRUE)

起初,我遇到了R转换列名的问题,上面的代码行很好地解决了该问题。 但是,当我尝试将txt文件放入file.listshorty对象中,该对象随后将用于methRead函数时,我得到了:

file.listshorty <- list("shorty_101.txt","shorty_102.txt", "shorty_103.txt", 
                    "shorty_104.txt", "shorty_105.txt", "shorty_107.txt")


myobjS = methRead(file.listshorty, sample.id=list("Sample_101_GDM", 
"Sample_102_GDM", "Sample_103_GDM", "Sample_104_nonGDM", 
"Sample_105_nonGDM", "Sample_107_nonGDM"), assembly = "hg19", 
treatment=c(1,1,1,0,0,0), context="CpG", dbtype = "tabix", pipeline = "amp", 
header= TRUE, skip = 0, sep = "\t", resolution = "base", dbdir = getwd(), 
mincov = 10)

Error in data[, 5] * data[, 6] : non-numeric argument to binary operator

但是,当我打开由R创建的这些txt文件并删除添加到其中的无关紧要的东西,然后读入它们时,它就可以工作了...

要澄清->删除了行编号列和命名列V1,V2,V3 ... V7的行。

 V1 V2 V3 V4 V5 V6 V7
1
2
3
4
5

我也尝试做:

write.table(head(Sample_101, n=100), "shorty_101.txt", col.names = FALSE, 
sep = "\t", row.names = FALSE)

它给了我同样的错误信息。 我假设这是因为第一行需要表示为标题,但不确定如何使用列表功能或是否还有其他解决方法。

任何帮助深表感谢!

谢谢!

弄清楚了! 您必须通过在write.table函数中添加参数quote = FALSEwrite.table txt文件中创建的引号。

write.table(head(Sample_101, n=100), "shorty_101.txt", col.names = FALSE, sep 
= "\t", row.names = FALSE, quote = FALSE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM