我知道像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)
。 - grauturcyl+gear, data = mtcars)/xtabs(cyl+gear, data = mtcars) 在mtcars数据集中,按照汽缸数和档位对马力进行交叉分析,然后除以按照汽缸数和档位的总数。 - jverzani