我正在用 R 玩一些概念。这个问题是我之前在这里提出的问题的扩展
我有如下数据
V1 V2 V3
.. 1 1
.. 2 1
.. 1 2
.. 3 2
与前面的问题一样,我想累计计算V1
每个值的方差。V2
但是,我需要根据值拆分数据集V3
并计算每个单独数据集的方差。我可以使用split
函数来执行此操作,然后使用此答案中描述的技术。有没有更好的方法来实现同样的目标。
我正在用 R 玩一些概念。这个问题是我之前在这里提出的问题的扩展
我有如下数据
V1 V2 V3
.. 1 1
.. 2 1
.. 1 2
.. 3 2
与前面的问题一样,我想累计计算V1
每个值的方差。V2
但是,我需要根据值拆分数据集V3
并计算每个单独数据集的方差。我可以使用split
函数来执行此操作,然后使用此答案中描述的技术。有没有更好的方法来实现同样的目标。
# 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)