具有二进制目标的列数据:
> XYp <- data.frame(X=floor(3*runif(100)),Y=floor(3*runif(1000)),p=round(runif(1000)))
> head(XYp)
X Y p
1 0 2 0
2 0 1 1
3 0 1 1
4 1 0 1
5 1 1 0
6 2 1 1
我设法将平均目标xtabs
交叉制表:
> xtabs(p ~ X + Y, aggregate(p ~ X + Y, XYp, mean))
Y
X 0 1 2
0 0.4552846 0.4652778 0.4878049
1 0.5436893 0.4907407 0.6067416
2 0.6018519 0.5346535 0.6435644
现在我想以百分比显示结果,百分号(%),但到目前为止,我只能得到没有百分号的结果:
> xt <- xtabs(p ~ X + Y, aggregate(p ~ X + Y, XYp, x <- function(x) round(mean(x),4)))
> xt
Y
X 0 1 2
0 0.4553 0.4653 0.4878
1 0.5437 0.4907 0.6067
2 0.6019 0.5347 0.6436
我试图操纵xtabs
输出,但到目前为止我可以应用数字转换:
> xt*100
Y
X 0 1 2
0 45.53 46.53 48.78
1 54.37 49.07 60.67
2 60.19 53.47 64.36
并且在交叉制表中的每个元素之后没有得到百分号(%)。是否有可能在那里获得百分号,或者应该使用其他数据结构?