R 选择包含值x或值y的df
我在数据争论中遇到了问题 我有一个data.frame,在我的一个列中有不同的日期。还有一个列我正在分组,但这应该不是问题所在。 现在,我只想过滤df,新df包含日期x或日期y(例如20-03-18或20-03-19)。我尝试了函数xor(),但我努力了很多,没有得到任何结果R 选择包含值x或值y的df,r,dataframe,filter,tidyverse,data-wrangling,R,Dataframe,Filter,Tidyverse,Data Wrangling,我在数据争论中遇到了问题 我有一个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&qu
new_df<-df%>%
group_by(animals_id)%>%
filter(any(day==xor("20-03-18", "20-03-19"))
由于您提供的数据没有包含日期“2020-03-18”或“2020-03-19”的行,因此我必须包含一些包含这些日期的示例行,如下所示:
df <- bind_rows(
df,
data.frame(
animals_id = c("Hedwig", "Hedwig"),
day = as.Date(c("2020-03-18", "2020-03-19"))
)
)
然后,我再次使用filter()
中的%in%
运算符来搜索df
表中的每一行,其中动物id
列中的值出现在选择动物id
表中的动物id
列中。由于在选择动物id
表中只存在“海德薇”id,因此%中的%操作符将在df
中找到动物id
列中有“海德薇”的每一行
df <- df %>%
filter(animals_id %in% select_animals_id$animals_id)
尝试new_df%group_by(animates_id)%%>%filter(day==as.Date(“20-03-18”)| day==as.Date(“20-03-19”)
谢谢,但是现在new_df只包含filter中给出的值的行,但是来自animates_id的所有其他日期都消失了。我只需要看看这些日期是否在df中,因为我需要一个具体的时间框架来进行分析。
library(dplyr)
library(magrittr)
select_animals_id <- df %>%
filter(day %in% as.Date(c("2020-03-18", "2020-03-19"))) %>%
group_by(animals_id) %>%
count()
df <- df %>%
filter(animals_id %in% select_animals_id$animals_id)
animals_id day
1 Hedwig 2019-02-10
2 Hedwig 2019-02-11
3 Hedwig 2019-02-12
4 Hedwig 2019-02-13
5 Hedwig 2019-02-14
6 Hedwig 2019-02-15
7 Hedwig 2020-03-18
8 Hedwig 2020-03-19