2014-01-10 15 views
2

我有一個出現問題。我想編寫一個文本文件,但是我無法讓列名很好地顯示在列的上方。R:書寫文本文件時看起來好看的col名字

一個例子:

dfr <- data.frame(Name=c("Adam Jones", "Brian Smith", "Peter Stevensson"), 
Salary=c(12345, 6789, 234567), Tax=c(2345, 1233, 5263)) 
> dfr 
      Name Salary Tax 
1  Adam Jones 12345 2345 
2  Brian Smith 6789 1233 
3 Peter Stevensson 234567 5263 

我曾嘗試:

write.table(DFR,文件= 「S:/s2609/sisse/minedata/dfr.txt」, +報價= FALSE,追加= FALSE,col.names = TRUE,row.names = FALSE)

和:

fdfr <- apply(dfr, 2, format, width = 14, justify = "left") 
> write.table(fdfr, file = "S:/s2609/sisse/minedata/dfr.txt", 
+ quote = FALSE, append = FALSE, col.names = TRUE, row.names = FALSE) 

和:

write.fwf(DFR,文件= 「S:/s2609/sisse/minedata/dfr.txt」,寬度= C(16,16,16),證明=「左」追加= FALSE,colnames = TRUE,rownames = FALSE)

和:

dfr.m < - as.matrix(DFR)

> capture.output(print(dfr.m, print.gap=3, quote = FALSE), file = "S:/s2609/sisse/minedata/dfr.txt") 

該中心很好的列名,但保留「行名稱」:

[1,] 
[2,] 
[3,] 
[4,] 

有沒有什麼辦法在一個文本文件或刪除這些「行名」很好地顯示的列名使用capture.output()?

任何幫助表示讚賞!

+2

你打算如何使用輸出?我會建議使用一個工具,將輸出一個HTML表或LaTeX表,而不是試圖糾纏文本輸出... – Justin

+0

好主意!我會研究這一點。 – Sisse

回答

2

1)嘗試這種情況:

library(Hmisc) 
print.char.matrix(dfr, cell.align = "cen", col.txt.align = "cen", 
     col.names = TRUE, row.names = FALSE, 
     hsep = " ", vsep = "", csep = "") 

其給出:

 Name  Salary Tax 
    Adam Jones  12345 2345 
    Brian Smith  6789 1233 
Peter Stevensson 234567 5263 

2)

print.char.matrix(dfr, cell.align = "cen", col.txt.align = "cen", 
           col.names = TRUE, row.names = FALSE) 

其給出:

+----------------+------+----+ 
|  Name  |Salary| Tax| 
+----------------+------+----+ 
| Adam Jones | 12345|2345| 
+----------------+------+----+ 
| Brian Smith | 6789|1233| 
+----------------+------+----+ 
|Peter Stevensson|234567|5263| 
+----------------+------+----+