【问题标题】:write.table in R creates txt files that it then reads incorrectlyR 中的 write.table 创建 txt 文件,然后读取不正确
【发布时间】:2018-01-29 17:41:27
【问题描述】:

所以我在 MethylKit 中工作,它具有需要使用 txt 文件的功能。

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

为此,我正在使用:

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

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

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)

它给了我同样的错误信息。我假设这是因为第一行需要表示为标题,但不确定如何使用 list 函数执行此操作,或者是否有其他解决方法。

非常感谢任何帮助!

谢谢!

【问题讨论】:

  • 你是什么意思“删除添加到它的无关紧要的东西”?添加了哪些无关内容?
  • 有行编号,对于列,在列名的顶部有“V1、V2、V3....V7”。当我在 excel 中读取 txt 文件时,我删除了这两个东西,它修复了我上面的警告消息。
  • 请注意,您的 write.table 语句显示为 row.names = TRUE。如果您不想要行名,最好将其设置为 false。
  • 我确实尝试过,所以col.namesrow.names 都设置为false,我仍然从methRead 收到相同的错误消息。
  • 你为什么用sample.id=list (而不是sample.id=list(list( 之间没有空格。这是在您的代码中还是只是这里的错字?

标签: r list header columnname write.table


【解决方案1】:

想通了!您必须通过在write.table 函数中添加参数quote = FALSE 来取出在txt 文件中创建的引号。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多