从`FUN`中的`tapply`获取当前因子水平指数

时间:2016-10-06 19:10:12

标签: r tapply

使用tapply功能,我可以以某种方式访问​​"组" /"级别"它正在运作的因素是什么?

示例:

每加仑平均英里数:

ybar_j <- tapply(mtcars$mpg, as.factor(mtcars$cyl), mean)

现在我想从每个x柱面里程中减去带有x个气缸的汽车的水平平均值。 例如。 4缸:

mtcars[mtcars$cyl==4, ]$mpg - ybar_j[1]

我可以在for循环中执行:

ybar_j_index <- as.numeric(names(ybar_j))
m <- length(ybar_j)

for(j in 1:m) { 
    # Relevant subset of observations at 'j' level. 
    mtcars_j <- mtcars[mtcars$cyl==ybar_j_index[j], ]

    (mtcars_j$mpg - ybar_j[j])

Can I do this without a for-loop?

0 个答案:

没有答案