r - 如何使用索引更改向量的值?
问题描述
我所说的索引指的是 R 存储每个值时的顺序。现在我只想编辑一个对象的值,但条件是它的索引是奇数(1 3 5 7 9 ..)
b[索引]
有以下变量
a <- c("a","b","c","d") # 4 values
b <- rep(NaN,length(a)*2 ) # 8 values
现在在向量 b 中,我有 8 个数据,我的目标是以奇怪的方式更改值:
> b[1]
[1] "a"
> b[5]
[1] "c"
> b[2]
[1] NaN
> b[6]
[1] NaN
> b[3]
[1] "b"
> b[7]
[1] "d"
> b[4]
[1] NaN
> b[8]
[1] NaN
有没有自动的方法来完成这个过程?例子for(i in(1:length(b)))
b[2*(1:length(a))- 1 ] = a
错误只有 0 可以与负订阅混合
解决方案
我们可以使用带有逻辑索引的回收索引
b[c(TRUE, FALSE)] <- a
b
#[1] "a" "NaN" "b" "NaN" "c" "NaN" "d" "NaN"
推荐阅读
- javascript - 为什么 React 类中的“this”与 Js 事件处理程序中的不同?
- arduino - Arduino 按钮继电器控制和 LED
- python - Discord.py:如何从线程函数发送消息?
- c++ - 模板右值引用与非模板编译错误
- javascript - 抛出错误后,节点 js 退出 catch 语句
- node.js - 注销后保持 node.js express 运行
- elasticsearch - 如何设置索引模式以支持零售应用程序
- lua - 将特定文件分配给脚本中的任何团队
- python - 遍历目录/子目录的目录,仅打印子目录名称
- javascript - 为什么在给定线性三次贝塞尔曲线时 p5.js bezierPoint() 函数会返回非线性值?