I对数据框中存储的坐标进行平均,如下所示:
sapply(coords[N:M,],mean) # mean of coordinates N to M我需要几组坐标的平均值,所以我做了这个循环,它找到坐标1-4,5-11和20-30的平均值。
N <- c(1, 5,20)
M <- c(4,11,30)
for ( i in 1:length(N) ) {
sapply(coords[N(i):M(i),],mean)
}我如何向量化这个循环呢?我尝试将一个矩阵传递给坐标(coords[NM,]),但这并没有得到我想要的结果。
发布于 2012-11-22 11:48:47
为了简单和高效,您可以将sapply(x, mean)替换为colMeans(x)。
也许通过向量思维,你更喜欢把几个变量(N和M)转换成一个向量--这里是数组--只要可能和简单的话。
N <- data.frame(from=c(1,5,20), to=c(4,11,30))
apply(N, 1, function(x) colMeans(coords[x[1]:x[2],]))https://stackoverflow.com/questions/13505547
复制相似问题