是否可以使用 write.table 格式化输出?
我可以使用制表符左对齐列sep = '\t'
,并且可以使用两个制表符增加列之间的间距sep = '\t\t'
。
理想情况下,我希望能够右对齐列并使用比 '\t' 和 '\t\t' 提供的中间量的间距。使用类似sep = '\t '
完全破坏列对齐的东西。
我必须证明从使用许多不同表格格式的许多不同文件中提取的大量数据。将 R 的输出文本文件的列间距与原始 pdf 文档中的列间距紧密匹配将大大提高校对的速度和准确性。
# example data to write to text file
aa = matrix(c(1000,110,10,1,
0,2000,20,2,
30,300,3000,30000), nrow=3, byrow=TRUE,
dimnames = list(NULL, c("C1", "C2", "C3","C4")))
aa
# left align columns using a tab
write.table(aa,file="c:/users/mark w miller/simple r programs/formatted_tablea.txt", na = 'NA', sep = '\t',
row.names = F, col.names = F)
# 1000 110 10 1
# 0 2000 20 2
# 30 300 3000 30000
# increase spacing between columns with two tabs
write.table(aa,file="c:/users/mark w miller/simple r programs/formatted_tableb.txt", na = 'NA', sep = '\t\t',
row.names = F, col.names = F)
# 1000 110 10 1
# 0 2000 20 2
# 30 300 3000 30000
# Here is an example of the desired right-aligned output
# format with an intermediate amount of spacing
# (3 spaces vs the 1 or 7 spaces used above):
# 1000 110 10 1
# 0 2000 20 2
# 30 300 3000 30000
# Maybe use cat somehow?
cat(file="c:/users/mark w miller/simple r programs/formatted_tablec.txt", aa, sep=c(' ', ' ', '\n'))
还是我必须写入 csv 文件并使用 Excel 打开输出文件?我宁愿避免使用 Excel。或者也许我必须使用 LaTex 创建所需格式的输出数据?
抱歉这周的所有问题。