gpt4 book ai didi

r - 在 R 的 which() 和 ifelse() 函数中组合逻辑语句

转载 作者:行者123 更新时间:2023-12-02 06:02:25 26 4
gpt4 key购买 nike

我总是使用这样的命令:

which(foo$bar == 'A' | foo$bar == 'B' | foo$bar == 'C')

由于它们都与同一个变量相关,我希望能够清理我的代码并执行以下操作:
which(foo$bar == 'A|B|C')  # such syntax works in grep, why not here?
# or...
which(foo$bar == c('A', 'B', 'C'))

但这都不起作用!我很确定一定有一个简单的解决方案,我就是找不到。我在 ifelse() 也有同样的问题功能,因此可以为通用解决方案提供额外的吹嘘权。

最佳答案

with(foo, which(bar %in% LETTERS[1:3]) )

可用于从数据框中选择行。也可以将其用作报告向量的逻辑索引,尽管使用逻辑索引,您确实需要记住 R 索引不是基于 0 的。:
  set.seed=(123)
foo <- data.frame(bar=sample(LETTERS[1:15], 10))
c("Not in A|B|C", "In A|B|C") [ 1+ foo$bar %in% LETTERS[1:3] ]

关于r - 在 R 的 which() 和 ifelse() 函数中组合逻辑语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com