所以我在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文件并删除添加到其中的无关内容然后将其读入时,它可以正常工作......
澄清 - &gt;删除了行编号列和命名列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)
它给了我相同的错误消息。我假设它是因为第一行需要表示为标题,但不知道如何使用列表函数或如果有另一种解决方法。
非常感谢任何帮助!
谢谢!
答案 0 :(得分:0)
想出来!您必须通过在quote = FALSE
函数中添加参数write.table
来取出在txt文件中创建的引号。
write.table(head(Sample_101, n=100), "shorty_101.txt", col.names = FALSE, sep
= "\t", row.names = FALSE, quote = FALSE)