首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将向量的每三个数字除以另一个向量中的值

将向量的每三个数字除以另一个向量中的值
EN

Stack Overflow用户
提问于 2020-02-05 19:25:37
回答 2查看 44关注 0票数 2

我想做一个简单的计算。

我有一个数字向量:

代码语言:javascript
运行
复制
> dput(DF_IS[,2])
c(0.00605997931747673, 0.00161894273127753, 0.00182572614107884, 
0.00133636363636364, 0.00379888268156425, 0.00172248803827751, 
0.000883211678832117, 0.0017481662591687, 0.00163145539906103, 
0.000837486457204767, 0.000321167883211679, 0.000825, 0.00144298688193744, 
0.000708860759493671, 0.000871599564744287, 0.000319108280254777, 
0.000518123667377399, 0.000363636363636364, 42.3517169614984, 
28.5714285714286, 50.4672897196262, 30.78125, 42.8571428571429, 
47.8781284004353, 0.0103960396039604, 0.0232472324723247, 0.0214780600461894

它包含27个值,我想将它除以下面的数字向量:

代码语言:javascript
运行
复制
dput(DF_IS2[,1])
c(0.0031682160632777, 0.00228591145206846, 0.00142094444568728, 
0.000661218113472149, 0.0010078157353918, 0.000400289437089513, 
40.4634784175177, 40.5055070858594, 0.0183737773741582)

第二个向量短3倍,这意味着向量1的前3个值应该除以第二个向量中的第一个数字。接下来,第一个向量中的值4-6应该除以向量2中的2nd数,等等。我希望根据重复次数等来调整它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-05 19:32:02

假设第一个向量称为x,第二个向量称为y,我们可以将x放入一个矩阵中,然后执行

代码语言:javascript
运行
复制
n <- 3
c(t(matrix(x, ncol = n, byrow = TRUE)/y))

或使用sweep

代码语言:javascript
运行
复制
c(sweep(matrix(x, nrow = n), 2, y, `/`))
票数 3
EN

Stack Overflow用户

发布于 2020-02-05 19:27:40

试一试

代码语言:javascript
运行
复制
dput(DF_IS[,2]) / rep(dput(DF_IS2[,1]), each=3)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60074727

复制
相关文章

相似问题

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