[問題] 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