如何提取向量x的每第3个元素存入y并将y元素加3?(R语言)
解法正确性判断
这个解法是完全正确的,具体分析如下:
- 提取每第3个元素的逻辑:
seq(from=3,to=length(x),by=3)生成了从索引3开始、步长为3的整数序列,用这个序列去索引向量x,就能精准获取x中第3、6、9……位置的元素,再通过箭头赋值给y,完全满足“提取每第3个元素存入新向量y”的要求。 - 元素值加3的操作:
y <- y + 3借助R的向量化运算特性,无需循环即可给y中的每个元素都加上3,高效完成了后续的数值修改需求。
你可以用一个简单的例子验证效果:
# 测试用向量 x <- c(2,5,8,1,4,7,3,6,9) # 执行给定代码 x[seq(from=3,to=length(x),by=3)]-> y y <- y+3 # 最终y的结果为 c(11,10,12),对应原x的第3、6、9个元素8、7、9分别加3后的结果
内容的提问来源于stack exchange,提问作者Juuso
相关产品推荐
相关产品推荐

