UPDATE:因爲這有人問dplyr已更新,現在執行的OP想過濾data.frame()
我正嘗試獲得第二至第七行的data.frame
使用dplyr
。
I'm這樣做:
require(dplyr)
df <- data.frame(id = 1:10, var = runif(10))
df <- df %>% filter(row_number() <= 7, row_number() >= 2)
但是,這將引發一個錯誤。
Error in rank(x, ties.method = "first") :
argument "x" is missing, with no default
我知道我可以很容易地:
df <- df %>% mutate(rn = row_number()) %>% filter(rn <= 7, rn >= 2)
但我想知道爲什麼我第一次嘗試是行不通的。
%df%>%filter(row_number()%in%2:7)' – akrun 2014-09-23 11:59:33
我也可以這樣做,但爲什麼'df <- df %>%filter(row_number()<= 7,row_number()> = 2)'是錯誤的? – 2014-09-23 12:04:16
我不知道背後的真正原因。一個雙「過濾器」似乎工作。 – akrun 2014-09-23 12:05:59