[问题] output的tab一直对不齐

楼主: REIDO (NEET)   2017-06-25 22:33:35
我要用R计算一堆mean ±SD,有用round或signif之类的把太长的小数压缩一下,然后用tab分隔
> for(j in c(3,7,8,13:15,24:29)){
+ cat("G3_3=0","\t","G3_3=1","\t","G3_3=2","\n")
+ for(g in 0:2){
+ MEAN=round(mean(d1[,j][d1$G3_3==g]),2)
+ SD=round(sd(d1[,j][d1$G3_3==g]),2)
+ cat(paste0(MEAN,"±",SD,"\t"))
+ }
+ cat("\n")
+ }
G3_3=0 G3_3=1 G3_3=2
17.08±1.3 17±1.42 16.54±1.19
G3_3=0 G3_3=1 G3_3=2
2.32±1.02 2.67±1.11 2.84±1.09
G3_3=0 G3_3=1 G3_3=2
2.29±1.11 2.38±1.06 2.6±1.09
G3_3=0 G3_3=1 G3_3=2
1.61±0.79 1.45±0.69 1.43±0.69
G3_3=0 G3_3=1 G3_3=2
1.97±0.91 1.93±0.74 2.08±0.86
G3_3=0 G3_3=1 G3_3=2
0.92±1.08 0.6±0.95 0.16±0.5
G3_3=0 G3_3=1 G3_3=2
3.84±1 3.9±0.84 3.97±0.9
G3_3=0 G3_3=1 G3_3=2
3.13±0.88 3.32±0.99 3.22±1.02
G3_3=0 G3_3=1 G3_3=2
3.21±1.32 3.48±1.04 2.97±1.08
G3_3=0 G3_3=1 G3_3=2
1.34±0.53 1.64±1 1.45±0.89
G3_3=0 G3_3=1 G3_3=2
1.92±1.17 2.52±1.36 2.26±1.27
G3_3=0 G3_3=1 G3_3=2
3.61±1.28 3.72±1.31 3.49±1.43
像红色的部分就会对不齐,文字部分则是全部歪掉(和数字比)。
因为长度问题,不同行会对不起来,请问对于这种排版问题,有办法对齐吗?
[软件熟悉度]:
请把以下不需要的部份删除
入门(写过其他程式,只是对语法不熟悉)
作者: andrew43 (讨厌有好心推文后删文者)   2017-06-25 23:15:00
改用 sprintf 如 sprintf("%2.3f", 3) 之类的强制位数
楼主: REIDO (NEET)   2017-06-25 23:54:00
那请问文字我该怎么办?只能手动调整吗?还是说有办法向word一样,先画好虚拟表格,不准越界??
作者: clsmbstu   2017-06-26 00:34:00
如果用matrix装你的输出可以吗? @@sprintf也是可以调字串的占宽 ex: sprintf("%4s", "ha")
楼主: REIDO (NEET)   2017-06-27 08:42:00
sprintf好像是之前C语言用的XD,我有试试,感恩

Links booklink

Contact Us: admin [ a t ] ucptt.com