R 用新行而不是NA写入表格

R 用新行而不是NA写入表格,r,R,因此,我有一个数据框架,我通过将较短的列表扩展为NA,将不同长度的列表组合在一起,形成了一个数据框架 示例: [,1] [,2] [,3] [,4] [,5] [,6] PAHS.147A "TNF" "TRAF6" NA NA NA NA PAHS.122A "TRAF6" "TRIM25" NA NA NA NA PAHS.012A "TRAF3" "T

因此,我有一个数据框架,我通过将较短的列表扩展为
NA
,将不同长度的列表组合在一起,形成了一个数据框架

示例:

           [,1]    [,2]     [,3]  [,4]   [,5]     [,6]   
PAHS.147A  "TNF"   "TRAF6"  NA    NA     NA       NA     
PAHS.122A  "TRAF6" "TRIM25" NA    NA     NA       NA     
PAHS.012A  "TRAF3" "TRAF4"  NA    NA     NA       NA     
PAHS.3012A "CD40"  "CD40LG" "CD5" "CD70" "CDKN1A" "CEBPB"
PAHS.038A  "VEGFA" "VWF"    NA    NA     NA       NA     
PAHS.084A  "ULK2"  "UVRAG"  NA    NA     NA       NA 
我想使用
write.table()
将表写入以制表符分隔的文本文件,但我不想使用
NA
,我只想在行到达
NA
时开始新行。有没有一个简单的方法


我尝试将NAs设置为“”,但仍有选项卡指示缺少的值。我只想在那一点上换一行,而不是制表符

由于write.table设计用于输出带有某种分隔符的常规对象(数据帧和矩阵),因此使用
cat
write
writeLines
中的一种可能会更具吸引力:

txt <- data.frame(a="a", b="b", c=NA, d=NA  ,e=NA)
txt <- txt[rep(1,10),]  # 10 copies
apply(txt,1,function(x) cat(x[!is.na(x)], "\n", file="out.txt", append=TRUE ))

txt由于write.table设计用于输出带有某种分隔符的常规对象(数据帧和矩阵),因此使用
cat
write
writeLines
中的一种可能会更具吸引力:

txt <- data.frame(a="a", b="b", c=NA, d=NA  ,e=NA)
txt <- txt[rep(1,10),]  # 10 copies
apply(txt,1,function(x) cat(x[!is.na(x)], "\n", file="out.txt", append=TRUE ))

txt+1。这很好。接下来,要获取以制表符分隔的文件,请将最后一行中的
函数(x)
替换为:
cat(粘贴(x[!is.na(x)],collapse=“\t”),sep=“\n”,file=“out.txt”,append=TRUE)
.Tabs。我忘带标签了。谢谢你修正了这个遗漏。这很好。接下来,要获取以制表符分隔的文件,请将最后一行中的
函数(x)
替换为:
cat(粘贴(x[!is.na(x)],collapse=“\t”),sep=“\n”,file=“out.txt”,append=TRUE)
.Tabs。我忘带标签了。谢谢你修正了这个遗漏。