关于r:如何格式化grid.table中的数字和单元格?

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)