【问题标题】:Is there a function to replace vanishing values with 0 while logical indexing? [duplicate]逻辑索引时是否有用 0 替换消失值的功能? [复制]
【发布时间】:2021-07-20 08:53:10
【问题描述】:

我想知道是否有快速解决我的问题的方法。

我将问题简化为最小的情况,例如:

a <- c(1,2,3,4,5)

b <- c(TRUE, TRUE, FALSE, TRUE, FALSE)

如果我计算 a[b] 我收到:[1] 1, 2, 4

但我想要:[1] 1, 2, 0, 4, 0,将 35 替换为 0's。

由于我的数据集很大,我迫切需要避免for-loop,但我不知道。

提前致谢! 埃尔莫

【问题讨论】:

标签: r


【解决方案1】:

如果 b 为真,则为 else 0 ifelse(b,a,0)

【讨论】:

  • 非常感谢!很好的答案!喜欢它
【解决方案2】:

您可以使用replace 将此处由!b 给出的位置替换为0

replace(a, !b, 0)
#[1] 1 2 0 4 0

或使用[&lt;-

`[<-`(a, !b, 0)
#[1] 1 2 0 4 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多