更新:自从提出此问题以来,dplyr已更新,现在可以按照OP的要求进行操作
我正在尝试使用data.frame
在dplyr
中获得第二到第七行。
我正在这样做:
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)
但是我想了解为什么我的第一次尝试不起作用。
最佳答案
实际上dplyr的slice
函数是为这种子设置而制作的:
df %>% slice(2:7)
(我参加聚会有点晚了,但是我想为以后的读者添加这个内容)
关于r - 根据row_number()过滤data.frame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25994307/