Вот некоторые примеры данных.
df <-
data_frame(
Date = c(1,2,2,3,3,4)
, Metric = 1:6
, type = c(NA, "desired", "not desired", "not desired", "desired", "not desired")
)
Что выглядит следующим образом:
# A tibble: 6 x 3
Date Metric type
<dbl> <int> <chr>
1 1 1 <NA>
2 2 2 desired
3 2 3 not desired
4 3 4 not desired
5 3 5 desired
6 4 6 not desired
Я предполагаю, что вы хотите сохранить одну строку на дату, основываясь на столбце type
, но другие столбцы могут (или не может) отличаться друг от друга.(Если они никогда не отличаются друг от друга, я не понимаю, почему будет иметь значение, какую строку вы сохраняете.)
Для этого простейшим, вероятно, будет сортировка данных по type
(гарантируя, что значениеВы хотите, чтобы сначала приходилось сохранять - вам, возможно, придется изменить type
на коэффициент с «желаемым» значением в качестве первого уровня, если по какой-то причине он не является первым по алфавиту), а затем используйте slice
, чтобы сохранить первую запись.
df %>%
arrange(type) %>%
group_by(Date) %>%
slice(1) %>%
ungroup() %>%
arrange(Date)
возвращает:
# A tibble: 4 x 3
Date Metric type
<dbl> <int> <chr>
1 1 1 <NA>
2 2 2 desired
3 3 5 desired
4 4 6 not desired