arrays - 替换数组的前“m”个元素
问题描述
我有一个长度数组n
。我想m<n
用 0 替换它的第一个元素。显然,一个简单的 for 循环可以执行此任务:
m<-100
n<-1000
x<-runif(n)
for(i in 1:m){
x[i]<-0
}
有没有更有效的解决方案?谢谢!
解决方案
如果'm'是元素的索引,使用
replace(x, 1:m, 0)
或者
x * rep(c(0, 1), c(m, n - m))
或者
x * (seq_len(n) > m)
编辑:基于@RuiBarradas 评论
推荐阅读
- c++ - 问题比较答案键的字符串 (C++)
- php - 如何在codeigniter中使用foreach复制某个数字
- android - 安卓按钮无响应
- chromium - 有什么方法可以在 chromium 中启用软件光栅化选项?
- java - Pizza toppings with array
- python - Python - 仅打印字符串的整数
- javascript - 如何使用 JavaScript 将嵌套的 JSON 文件项导出到 HTML 表?
- azure - 检查运行 Azure Functions 的环境
- python - 在 Keras 的 fit 函数中使用 class_weight 参数时出错
- python - Keras:密集层期望 LSTM 之后的 2d 矩阵