替换数组的前m个元素

时间:2019-05-05 15:46:05

标签: arrays r

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

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

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

1 个答案:

答案 0 :(得分:3)

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

replace(x, 1:m, 0)

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

x * (seq_len(n) > m)

编辑:基于@RuiBarradas评论

相关问题