我format
用来创建可读的平面表ftable
是不够的。需要注意的是,在使用该prop.table
函数计算列频率时,NA
会打印值,因为NA
这会导致混乱和可读性低。
如何修改如下代码以使用空格或句点打印NA
或值?NaN
我考虑使用该sub
函数,但我认为如果列名包含这些字符值,它会很混乱并且容易出错。
x <- sample(c(1, 2, 3), 100, replace=TRUE)
y <- sample(factor(c(1, 2), levels=1:3), 100, replace=TRUE)
t <- table(x,y)
p <- prop.table(t, margin=2)
o <- structure(
paste(format(t), '(', format(round(100*p)), '%)'),
dim=dim(t),
dimnames=dimnames(t)
)
这是给出的示例输出:
> o
y
x 1 2 3
1 "20 ( 38 %)" "21 ( 44 %)" " 0 ( NaN %)"
2 "20 ( 38 %)" "16 ( 33 %)" " 0 ( NaN %)"
3 "12 ( 23 %)" "11 ( 23 %)" " 0 ( NaN %)"