r - 更改条件以替换向量中的元素

标签 r if-statement vector replace conditional-statements

考虑向量:
use = c(1,1,2,2,5,1,2,1,2,5,1)
我正在尝试在序列中第一个数字5出现之前替换所有从5到NA的数字:ifelse(use != 5,NA,1)
在那之后条件应该是ifelse(use != 5,0,1)

输出为:
after = c(NA,NA,NA,NA,1,0,0,0,0,1,0)
有小费吗?

最佳答案

你应该试试:

`is.na<-`(match(use, 5, 0), seq(match(5, use) - 1))
 [1] NA NA NA NA  1  0  0  0  0  1  0

关于r - 更改条件以替换向量中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59739396/

相关文章:

r - 取矩阵 r 中行的平均值

r - 使用 RevoScaleR 计算每组的行数

c++ - std::vector 覆盖最终值,而不是增长?

c++ - push_back 与 emplace_back 到 std::vector<std::string>

arrays - 如何将标量传递给 Fortran 子程序的向量(一维数组)?

r - 测试缓冲区是否已在 R 中刷新

R 绘图 : customize point attributes

c - C 中 if/else 语句的问题

c++ - 仅在 vector 末尾打印新行 - "if"循环之外的 "for"语句

c++ - 我如何接受 double 输入并执行 IF ELSE 语句