首页 > 解决方案 > 替换数组的前“m”个元素

问题描述

我有一个长度数组n。我想m<n用 0 替换它的第一个元素。显然,一个简单的 for 循环可以执行此任务:

m<-100
n<-1000
x<-runif(n)
for(i in 1:m){
  x[i]<-0
}

有没有更有效的解决方案?谢谢!

标签: arraysr

解决方案


如果'm'是元素的索引,使用

replace(x, 1:m, 0)

或者

x * rep(c(0, 1), c(m, n - m))

或者

x * (seq_len(n) > m)

编辑:基于@RuiBarradas 评论


推荐阅读