按R中的多个范围过滤数据框中的行[重复]

gab6jxml  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(85)

此问题在此处已有答案

Test if a vector contains a given element(8个答案)
2天前关闭。
我尝试使用dplyr::filter来选择Day列中两个值范围(1:3或7:10)内的行。
最后,我希望在下面的MRE中操作df,以便它包含整个 Dataframe 中Day值为1、2、3、7、8、9、10的行,包括所有ID。
尝试使用下面的|运算符将生成df2,其中包含值为1、2、3(仅ID“A”)和值为7、8、9、10(仅ID“B”)的行。

library("dplyr")

ID <- rep(c("A","B","C"), each = 10)
Day <- rep(c(1:10), times = 3)
Fig <- sample(20:50, 30)

df <- data.frame(ID, Day, Fig)

df2 <- dplyr::filter(df, Day == 1:3 | Day == 7:10)
igsr9ssn

igsr9ssn1#

使用%in%代替benson23评论中推荐的==

library("dplyr")

ID <- rep(c("A","B","C"), each = 10)
Day <- rep(c(1:10), times = 3)
Fig <- sample(20:50, 30)

df <- data.frame(ID, Day, Fig)

df2 <- dplyr::filter(df, Day %in% 1:3 | Day %in% 7:10)

相关问题