2016-03-08 39 views
-6

假設我有一個包含100條記錄的數據框。他們每個人都有日期。但我只想過濾出最新的10條記錄。如何實現這一目標?我正在考慮row_number(),但它沒有工作。在R中,如何篩選最新的10條記錄?

過濾器(記錄)

感謝

回答

3

首先排序的數據幀上的日期變量:

x <- x[order(x$var.date),] 

其中x是你的數據幀和var.date您的日期變量。然後,選擇過去的十年記錄:

x[(nrow(x)-10):nrow(x),] 
+2

或者只是'尾(X,10)'的第二部分。 –

+0

另外,你的代碼給出了最後11行。 –

+0

尾巴很棒!非常感謝! – user2029709

1

我們可以使用dplyr

library(dplyr) 
df1 %>% 
    arrange(desc(var.date)) %>% 
    head(., 10) 

或用top_n

df1 %>% 
    top_n(var.date, 10)