我在格式化表格时遇到了很多问题。
我希望在此表中有多种不同的格式。
鉴于数据框:
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
此外,是否可以格式化不同的单个单元格?
我可能会像这样放一张桌子。
答案 0 :(得分:2)
试试这个:
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 :(得分:0)
您可以尝试:
1.-全部在一起
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.-按列
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)