R中数据集的多重方差

R中数据集的多重方差,r,statistics,R,Statistics,我在玩R的一些概念。这个问题是我之前问的问题的延伸 我有一个数据如下 V1 V2 V3 .. 1 1 .. 2 1 .. 1 2 .. 3 2 与前面的问题一样,我想计算V2的每个值的V1的累积方差。但是,我需要根据V3的值分割数据集,并计算每个数据集的方差。我可以使用split功能完成此操作,然后使用答案中描述的技术。有没有更好的方法来达到同样的效果。#Ben Bolker对您前面问题的解决方案 # Ben Bolker's solution to your ea

我在玩R的一些概念。这个问题是我之前问的问题的延伸

我有一个数据如下

V1   V2 V3
..   1  1
..   2  1
..   1  2
..   3  2
与前面的问题一样,我想计算
V2
的每个值的
V1
的累积方差。但是,我需要根据
V3
的值分割数据集,并计算每个数据集的方差。我可以使用
split
功能完成此操作,然后使用答案中描述的技术。有没有更好的方法来达到同样的效果。

#Ben Bolker对您前面问题的解决方案
# Ben Bolker's solution to your earlier question
bens.func <- function(d){
    u <- sort(unique(d$V2))
    ans <- sapply(u,function(x) {
        with(d,var(V1[V2<=x]))
    })
    names(ans) <- u
    ans
}

# Your new dataset
d <- data.frame(V1=runif(1000),V2=sample(1:10,size=1000,replace=TRUE),
                V3=sample(1:10,size=1000,replace=TRUE))

# Split and lapply takes care of the rest
lapply(split(d, d$V3), bens.func)
bens.func
#Ben Bolker对您先前问题的解决方案

bens.func那么你基本上想做与前面问题相同的事情,但是对于
V2
V3
的每一个独特组合,而不是单独的
V2
,不,我想根据
V3
分割数据帧,并计算每个结果数据集的累积方差。因此,您基本上想做与前一个问题相同的事情,但对于
V2
V3
的每个唯一组合,而不是单独的
V2
,不,我想根据
V3
分割数据帧,并计算每个结果数据集或
库(plyr)的累积方差;ddply(d,“V3”,bens.func)
是的,就是它。基本上,我需要更加熟悉apply家族。谢谢@hardikudeshi见或
库(plyr);ddply(d,“V3”,bens.func)
是的,就是它。基本上,我需要更加熟悉apply家族。谢谢@哈迪库德希