【发布时间】:2011-07-26 02:49:10
【问题描述】:
我知道 xtabs 和 table 等命令允许用户进行交叉制表
例如,以下命令生成一个数据透视表,显示具有相同齿轮数和气缸数的汽车数量。
> xtabs(~cyl+gear, data = mtcars)
gear
cyl 3 4 5
4 1 8 2
6 2 4 1
8 12 0 2
>
我们可以扩展公式,这样它就可以显示每个箱子中汽车的马力总和
> xtabs(hp~cyl+gear, data = mtcars)
gear
cyl 3 4 5
4 97 608 204
6 215 466 175
8 2330 0 599
>
我现在想知道,是否可以计算每个垃圾箱中汽车的马力平均值?例如像这样的xtabs(mean(hp)~cyl+gear, data = mtcars)
【问题讨论】:
-
我不知道如何使用
xtabs(我以前从未使用过),但要使用reshape包,一种方法是cast(melt(mtcars, id = c("cyl", "gear")), cyl ~ gear, subset = variable == "hp", mean)。 -
xtabs(hp~cyl+gear, data = mtcars)/xtabs(~cyl+gear, data = mtcars)
标签: r