gpt4 book ai didi

r - 如何根据一个值过滤远程表?

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

我正在使用 %in% 执行 filter() 但 dplyr 转换查询的方式似乎不正确。事实上,%in% 运算符对于多个值可以正常工作,但当仅存在一个元素时就不行了。在我最初的场景中,过滤值是动态的,因此我希望有一个在这两种情况下都有效的函数。

my_db <- src_mysql(dbname = "dplyr", 
host = "dplyr.csrrinzqubik.us-east-1.rds.amazonaws.com",
port = 3306,
user = "dplyr",
password = "dplyr")
tbl(my_db, "dplyr") %>% filter(carrier %in% c("UA","AA")) #works
tbl(my_db, "dplyr") %>% filter(carrier %in% c("UA")) #doesn't work

我的问题与 multiple selectInput values create unexpected dplyr (postgres) behavior 重复。看起来像this issue也很有名

最佳答案

我无法对您的代码失败的原因提供任何见解。但在有人能够提供更好的解决方案之前,这里有一个简单的解决方法,它提供了“在两种情况下都有效的函数”。

my.carriers <- c("UA","AA")
my.carriers <- c("UA")

if (length(my.carriers)>1) {
tbl(my_db, "dplyr") %>% filter(carrier %in% my.carriers)
} else {
tbl(my_db, "dplyr") %>% filter(carrier == my.carriers)
}

关于r - 如何根据一个值过滤远程表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38251927/

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