首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在两个方向上分别对归一化向量求和

问在两个方向上分别对归一化向量求和
EN

Stack Overflow用户
提问于 2017-06-30 00:12:04
回答 1查看 65关注 0票数 0

我想在R的两个方向上分别对归一化向量求和。

例如,对于归一化0.3、0.4、0.5、0.6、1.0、0.9、0.8、07之后的向量3、4、5、6、10、9、8、7。我想分别对左侧和右侧的<1值求和,并找出它们的差值。在本例中,它将是left=0.3+0.4+0.5+0.6=1.8,right=0.9+0.8+0.7=2.4。差值是右减去左等于0.6。

以下是我的一些想法:

代码语言:javascript
复制
a <- c(3,4,5,6,10,9,8,7)
norm <- a/max(a)  # normalization
left <- sum(a[1:which.max(a)-1]) # left sum
right <- sum(a[which.max(a)+1:length(a)])  # right sum
diff <- right-left

有什么改进的建议吗?

EN

回答 1

Stack Overflow用户

发布于 2017-06-30 00:23:46

我们可以使用rleid来获取分组变量,获取每个组的‘sum’('ind')的范数,并获得差异

代码语言:javascript
复制
library(data.table)
ind <- rleid(norm<1)
diff(as.numeric(tapply(norm[ind!=2], ind[ind!=2], FUN = sum)))
#[1] 0.6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44830240

复制
相关文章

相似问题

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