【发布时间】:2021-01-01 08:21:57
【问题描述】:
我的数据整理有问题。
我的其中一个列中有一个具有不同日期的 data.frame。还有一列我正在分组,但这不应该是问题。 现在,我只想过滤 df,新的 df 包含日期 x 或日期 y(例如 20-03-18 或 20-03-19)。我尝试了函数 xor(),但我很挣扎,没有得到任何结果。
new_df<-df%>%
group_by(animals_id)%>%
filter(any(day==xor("20-03-18", "20-03-19"))
最后,我只想拥有包含日期“20-03-18”或(不是&)“20-03-19”的animals_id
我也尝试过filter(any(day==c("20-03-18", "20-03-19")),但这只是包含两个日期的过滤器
感谢您的帮助!
df<-structure(list(animals_id = c("Hedwig", "Hedwig", "Hedwig", "Hedwig",
"Hedwig", "Hedwig", "Heidi", "Heidi", "Heidi",
"Heidi", "Heidi", "Heidi"), day = structure(c(17937,
17938, 17939, 17940, 17941, 17942, 18304, 18305, 18306, 18307,
18308, 18309), class = "Date")), row.names = c(NA, -12L), class = "data.frame")
【问题讨论】:
-
试试
new_df<-df%>% group_by(animals_id)%>% filter(day==as.Date("20-03-18") | day==as.Date("20-03-19")) -
谢谢,但现在 new_df 只包含包含过滤器中给定值的行,但所有其他来自 animals_id 的日期都已消失。我只需要查看这些日期是否在 df 中,因为我需要一个特定的时间范围来进行分析。
标签: r dataframe filter tidyverse data-wrangling