簡體   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