首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向量化索引?

如何向量化索引?
EN

Stack Overflow用户
提问于 2012-11-22 11:37:46
回答 1查看 84关注 0票数 0

I对数据框中存储的坐标进行平均,如下所示:

代码语言:javascript
运行
复制
sapply(coords[N:M,],mean) # mean of coordinates N to M

我需要几组坐标的平均值,所以我做了这个循环,它找到坐标1-4,5-11和20-30的平均值。

代码语言:javascript
运行
复制
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,]),但这并没有得到我想要的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-22 11:48:47

为了简单和高效,您可以将sapply(x, mean)替换为colMeans(x)

也许通过向量思维,你更喜欢把几个变量(N和M)转换成一个向量--这里是数组--只要可能和简单的话。

代码语言:javascript
运行
复制
N <- data.frame(from=c(1,5,20), to=c(4,11,30))
apply(N, 1, function(x) colMeans(coords[x[1]:x[2],]))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13505547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档