library(tidyverse)
Я хочу создать третью таблицу из master_df и объединить ее с anom_df, чтобы выбрать только даты, имеющие значение в столбце anom в таблице $ anom
Это полу операция соединения.
master_df <- read_delim("data/master_df", delim = "\\s")
(
anom_df <-
"date id country anoms
2017-01-01 26 US 0
2017-01-02 26 US 0
2017-01-03 26 US 9
2017-01-04 26 US 0
2017-01-05 26 US 0
2017-01-06 26 US 0
2017-01-07 26 US 0
2017-01-08 26 US 100
2017-01-09 26 US 0
2017-01-09 26 US 0" %>%
str_replace_all("[:blank:]+", ",") %>%
read_csv()
)
## # A tibble: 10 x 4
## date id country anoms
## <date> <dbl> <chr> <dbl>
## 1 2017-01-01 26 US 0
## 2 2017-01-02 26 US 0
## 3 2017-01-03 26 US 9
## 4 2017-01-04 26 US 0
## 5 2017-01-05 26 US 0
## 6 2017-01-06 26 US 0
## 7 2017-01-07 26 US 0
## 8 2017-01-08 26 US 100
## 9 2017-01-09 26 US 0
## 10 2017-01-09 26 US 0
(
master_df <-
"date id country value
2017-01-01 26 AF 2
2017-01-02 26 US 4
2017-01-03 26 US 9
2017-01-04 26 AF 2
2017-01-05 26 US 4
2017-01-06 26 BE 1
2017-01-07 26 US 5
2017-01-08 26 US 3
2017-01-09 26 US 100
2017-01-10 26 US 4 " %>%
str_replace_all("[:blank:]+", ",") %>%
read_csv()
)
## Warning: 1 parsing failure.
## row col expected actual file
## 10 -- 4 columns 5 columns literal data
## # A tibble: 10 x 4
## date id country value
## <date> <dbl> <chr> <dbl>
## 1 2017-01-01 26 AF 2
## 2 2017-01-02 26 US 4
## 3 2017-01-03 26 US 9
## 4 2017-01-04 26 AF 2
## 5 2017-01-05 26 US 4
## 6 2017-01-06 26 BE 1
## 7 2017-01-07 26 US 5
## 8 2017-01-08 26 US 3
## 9 2017-01-09 26 US 100
## 10 2017-01-10 26 US 4
master_df %>%
semi_join(anom_df,by=c('id','country','date'))
## # A tibble: 6 x 4
## date id country value
## <date> <dbl> <chr> <dbl>
## 1 2017-01-02 26 US 4
## 2 2017-01-03 26 US 9
## 3 2017-01-05 26 US 4
## 4 2017-01-07 26 US 5
## 5 2017-01-08 26 US 3
## 6 2017-01-09 26 US 100
за один день до и один день после этой даты из master_df
Но я не знаю, что это значит? Просто получить разницу?