How to format numbers and cell in grid.table?
我在格式化表格时遇到很多问题。
我想在此表中使用多种不同的格式。
给出数据框:
1 2 3 4 5 6 7 8 9 10 | obs=c(1,2,3,4) n=c(30, 40, 1000, 33333) s=c(0.11111, 0.44444, 0.55555, 0.8888) m=c(222.222, 4444.5555, 5565.223, 323423.09808) df = data.frame(obs,n,s,m) Tdf = setNames(data.frame(t(df [,-1])), df [,1]) grid.table(Tdf) |
我想有不同颜色的专栏。
即。蓝色,棕色,蓝色,棕色
第n行具有逗号格式,例如:30、40、1,000、33,333。
行s仅保留小数点后两位:0.11、0.44、0.56、0.89
行m在小数点和逗号格式后加上蓝色仅占两个位置:222.22,4,444.56,5,565.22,323,423.10
此外,是否可以将单个单元格的格式设置为不同?
我可能会像这样把桌子放在桌子上。
尝试一下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | obs=c(1,2,3,4) n=c(30, 40, 1000, 33333) s=c(0.11111, 0.44444, 0.55555, 0.8888) m=c(222.222, 4444.5555, 5565.223, 323423.09808) df = data.frame(obs,n,s,m) Tdf = setNames(data.frame(t(df [,-1])), df [,1]) # transpose for formatting x <- t(Tdf) mode(x) <- 'character' x[, 'n'] <- formatC(as.numeric(x[, 'n']) , big.mark = ',' , digits = 0 , format = 'f' ) x[, 's'] <- formatC(as.numeric(x[, 's']) , digits = 2 ) x[, 'm'] <- formatC(as.numeric(x[, 'm']) , digits = 2 , big.mark = ',' , format = 'f') require (gridExtra) grid.table(t(x)) |
您可以尝试:
1.-全部加在一起
1 2 3 | tabla1<-data.frame(x=c("a","b","c","d"), y=c(1000,1200.3,245332.3,2212)) grid.newpage() grid.table(format(tabla1, decimal.mark =",", big.mark =".")) |
2.-按列
1 2 3 4 5 | grid.newpage() tabla1<-data.frame(x=c(0.1234,0.23456,0.34567,0.45678), y=c(1000,1200.3,245332.3,2212)) tabla1$x<-format(tabla1$x, digits = 2, decimal.mark ="_") tabla1$y<-format(tabla1$y, big.mark =".", decimal.mark =",") grid.table(tabla1) |