r - dplyr::filter 错误必须是逻辑向量,而不是字符
问题描述
我正在尝试根据具有数据类型的列中的dataframe
多个ID
值来过滤。当我使用(AND)运行代码时,出现错误。ID
character
|
boolean
R
我该如何解决这个问题dplyr
样本数据
ID Date Var1 Var2
279557 1/1/2020 1 2
280485 1/2/2020 3 4
279556 1/3/2020 5 6
280484 1/4/2020 7 8
267254 1/5/2020 9 10
290512 1/6/2020 11 12
代码
library(dplyr)
df = df%>%
filter(df, ID== '279557' | ID == '280485' | ID == '279556' | ID == '280484')
错误:
x Input `..1$ID` must be a logical vector, not a character.
我知道我可以创建一个dataframe
目标IDs
并执行如下所示的操作。
这是在有条件的情况下这样做的唯一方法dplyr::filter
吗boolean
?
target = c("29557", "280485", "279556", "280484")
df = df%>%
filter(df$ID %in% target)
解决方案
我认为您不需要在调用中引用数据框filter
:
df <- data.frame(
ID = 1:10
)
df = df %>%
filter(ID== '1' | ID == '5' | ID == '9')
df
ID
1 1
2 5
3 9
推荐阅读
- node.js - 使用 Sinon NodeJs 编写测试用例
- javascript - 错误:无法建立隧道套接字,原因=主机名/IP 与证书的替代名称不匹配:
- python - 如何在 Pandas 中引用之前的计算字段
- javascript - 单击单元格时将文本字段聚焦在单元格内
- dart - 执行 Dart 文件耗时过长
- html - 使两个弹性列之间的子项具有相等的高度
- python - 使用函数 Map,计算 input_list 中以 'S' 开头的单词数
- python - 如何将这样的`y`写入`.csv`文件(一列是`ID`,一列是我们的预测标记为`y`)?
- javascript - 使用 JavaScript 考虑夏令时将时间转换为另一个时区
- frontend - 连接到钱包connect with Dapp