gpt4 book ai didi

r - 如何在过滤器中写入多个逻辑条件

转载 作者:行者123 更新时间:2023-12-04 11:05:56 25 4
gpt4 key购买 nike

这是我的数据集:

set.seed(327)

ID <- seq(1:50)

mou <- sample(c(2000, 2500, 440, 4990, 23000, 450, 3412, 4958, 745, 1000),
50, replace=TRUE)

calls <- sample(c(50, 51, 12, 60, 90, 16, 89, 59, 33, 23, 50, 555),
50, replace=TRUE)

rev <- sample(c(100, 345, 758, 44, 58, 334, 888, 205, 940, 298, 754),
50, replace=TRUE)

dt <- data.frame(mou, calls, rev)

我的动机是找到 mou 的平均值,其中 calls 大于 34 且小于 200,而 rev 大于 100 且小于 400。我开始使用 dplyr 来解决这个问题,但我不太确定如何在过滤器函数中正确使用所需的表达式。

dt %>% filter(???) %>% summarize(mean_mou=mean(mou))

能否请您指导如何在过滤器中正确构建此表达式。

最佳答案

为了完整性:

如果逻辑是AND,您可以简单地在逗号后添加多个条件:

df %>%
filter(calls > 34, calls < 200, rev > 100, rev < 400)

如果逻辑是OR,您必须使用通常的逻辑or符号:|

df %>%
filter(calls > 34 | rev > 100)

将它们链接在一起工作,但必须注意完成了什么。例如:

df %>%
filter(calls > 34, calls < 200 | rev > 100, rev < 400)

表示calls > 34 AND (calls < 200 OR rev > 100) AND rev < 400

关于r - 如何在过滤器中写入多个逻辑条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43191432/

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