2016-01-26 60 views
0

我有一個可以使用下面的輸入讀取的大多是空白數據幀對齊:write.table列不與空白

structure(list(var1 = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L 
), var2 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), var3 = c(NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA), var4 = c(NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA), var5 = c(NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA), var6 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), 
    var7 = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L), var8 = c(NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA), var9 = c(NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA), var10 = c(NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA)), .Names = c("var1", "var2", "var3", 
"var4", "var5", "var6", "var7", "var8", "var9", "var10"), row.names = c(NA, 
10L), class = "data.frame") 

我想寫這一個TXT文件,它看起來像一切格式正確,並可以很容易地在Excel中打開(我知道write.xlsx,雖然它解決了這個問題,我希望該文件在txt格式)。

write.table(df3, file="test.txt", quote = FALSE, na = " \t", row.names = FALSE) 

我試過,但值不正確對齊:例如,這應該是var7下的數值顯示在var6這一翻譯。此外,雖然Excel設法將列讀取爲單獨的,但包含變量名稱的標題行會被讀爲一個長向量。是什麼賦予了?

回答

1

使用write.table(df3, file="test.txt", quote = FALSE, sep = "\t", na="", row.names = FALSE)請注意,使用sep = "\t"代替na = " \t"並設置爲na=""

+0

雖然這個工作,如果我使用這個NAs也將被寫入,我不想這樣。 – vashts85

+0

@ vashts85只需設置'na =「」' –

0

如果我寫:

write.table(df3, file="test.txt", quote = FALSE, sep="\t", row.names = FALSE, na="") 

然後,它的工作原理。我遵循Jilber關於使用sep="\t"的建議,並且也爲na選項做了這個,否則NA將顯示在文件中。