我在 R 中有以下数据框:
> dframe
Mean Median
Candidates 85.68 60
NonCands 9.21 4
Multi 27.48 17
Mono 4.43 3
Multi NonCands 22.23 15
我想将它打印到一个文件中并保持它的格式和对齐方式,如上所示。我用:
write.table(dframe,file="test",sep="\t", quote=F)
产生以下输出:
Mean Median
Candidates 85.68 60
NonCands 9.21 4
Multi 27.48 17
Mono 4.43 3
Multi NonCands 22.23 15
由于数据在 R 环境中以正确格式显示,我认为将其写入具有相同格式的文件应该很简单。显然我错了。我尝试过使用MASS 库format()
并write.matrix
从 MASS 库中玩,但都没有产生预期的结果。
我已经看到了一些类似这样的建议,但它似乎太复杂了,更重要的是,在使用write.table()
.
那么,如何将我的数据框打印到文本文件并让它看起来就像在 R 中一样?
更新
按照贾斯汀在下面评论中的建议,我安装了 gdata 库并使用了write.fwf
. 这几乎是我需要的:
write.fwf(dframe,file="test",sep="\t", quote=F, rownames=T)
产生以下输出:
Mean Median
Candidates 85.68 60
NonCands 9.21 4
Multi 27.48 17
Mono 4.43 3
Multi NonCands 22.23 15
那么,关于如何让“平均值”和“中位数”向右移动以使其与各自的列对齐的任何想法?
由于它现在可能是相关的,因此 data.frame 的创建方式如下:
labels<-c("Candidates","NonCands","Multi", "Mono", "Multi NonCands")
Mean <- c(mean(cands), mean(non),mean(multi),mean(mono),mean(multi_non))
Median <- c(median(cands), median(non),median(multi),median(mono),median(multi_non))
names(Mean)<-labels
dframe<-data.frame(Mean,Median)