2017-04-21 21 views
0

我只是試圖在dplyr中的數據幀的頂部和底部裁剪行,但無法解決這個問題。dplyr中的熊貓iloc函數的等效

在熊貓我會使用類似ILOC只是裁剪行,但不能工作如何與dplyr做到這一點:

這是我的建議,但它不會在R返回結果演播室:

df %>% 
    filter(!is.na(column)) %>% 
    filter(column, between(row_number(), 1, (length(df) - 3)) 
+3

也許看看基地R函數頭部和尾部。例如'tail(head(df,1),1)'將放棄data.frame df的第一行和最後一行。 – lmo

+1

@lmo我認爲你的意思是-1在這兩種情況下 –

+0

啊,那太好了。我只是將頭部(長度(df)-14)添加到管道而不是最後一行。 – elksie5000

回答

1

我知道我6月下旬就這一點,但任何人都希望在未來的 - 你可以使用slice削減了通過像ILOC指數位置的數據幀。您可以使用nrow(。)來調出數據幀中的行數。如果你想刪除關閉頂部6和底部6,你可以做..

df <- data.frame(x = 1:100) 

df %>% 
    slice(-c(1:6, (nrow(.)-5):nrow(.))) 

保持中的所有行之間的第7位和第7到最後的位置,你會做

df %>% 
    slice(7:(nrow(.)-6)) 

希望這會有所幫助!