2017-06-22 28 views
-1

在數據框中找到每個月的最後一天我現在有一個數據框,其中的月份和日期在不同的列中。 我應該如何編寫代碼才能得到每個月的最後一天?如何使用R

The data is like: 
Month Day 
1  1 
1  2 
1  3 
2  1 
2  5 

謝謝!!

回答

2

我們可以使用aggregate

aggregate(Day ~Month, df1, FUN = max) 

如果 '月', '日' 已經下令

df1[!duplicated(df1$Month, fromLast = TRUE),] 
# Month Day 
#3  1 3 
#5  2 5 

一個tidyverse方法是

library(tidyverse) 
df1 %>% 
    group_by(Month) %>% 
    slice(n()) # assumes the 'Day' is ordered 

如果 '日' 不下令,讓max

df1 %>% 
    group_by(Month) %>% 
    summarise(Day = max(Day)) 
1
library(sqldf) 
sqldf("select max(Day),Month from df1 group by Month") 

library(Hmisc) 
summarize(df1$Day,df1$Month,max)