我遇到了问题。我想写一个文本文件,但我不能让列名显示在列的上方。
一个例子:
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,file =“S:/s2609/sisse/minedata/dfr.txt”, + quote = FALSE,append = 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,file =“S:/s2609/sisse/minedata/dfr.txt”,width = c(16,16,16),justify =“left”,append = FALSE,colnames = TRUE ,rownames = FALSE)
和
dfr.m&lt; - 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()删除这些“行名”?
感谢任何帮助!
答案 0 :(得分:3)
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|
+----------------+------+----+