我有一個包含這樣的組和日期的資料集:
> df
Group Date
1 01-01-2016
1 01-02-2016
1 01-03-2016
2 01-04-2016
2 01-05-2016
2 01-06-2016
我只想保留最近的行加上最近的行。所以我想結束這個:
> df
Group Date
1 01-02-2016
1 01-03-2016
2 01-05-2016
2 01-06-2016
到現在為止,我把它按日期排序,如下所示:
sorted_data <- df %>% arrange(Group,Date)
而且我還發現,只要獲取最新的日期行,我就可以這樣做:
df %>%
group_by(Group) %>%
slice(which.max(as.Date(Date, '%d-%m-%Y')))
但我不確定如何保留最近的 2 行,有人知道嗎?
uj5u.com熱心網友回復:
這是否有效:
library(dplyr)
df %>% mutate(Date = lubridate::dmy(Date)) %>% group_by(Group) %>% slice_max(Date,n= 2)
# A tibble: 4 × 2
# Groups: Group [2]
Group Date
<dbl> <date>
1 1 2016-03-01
2 1 2016-02-01
3 2 2016-06-01
4 2 2016-05-01
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512537.html
標籤:r日期dplyr
上一篇:無法在我的信使webhook事件中讀取未定義的屬性(讀取“forEach”)
下一篇:如何在沒有時刻的時間段中找到沖突
