使用xtabs

时间:2017-11-08 09:36:47

标签: r number-formatting crosstab

具有二进制目标的列数据:

> 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

并且在交叉制表中的每个元素之后没有得到百分号(%)。是否有可能在那里获得百分号,或者应该使用其他数据结构?

0 个答案:

没有答案