dplyr 中 Pandas iloc 函数的等价物

elk*_*000 3 r pandas dplyr

我只是想在 dplyr 中裁剪数据框顶部和底部的行,但无法解决。

在 Pandas 中,我会使用 iloc 之类的东西来裁剪行,但无法弄清楚如何使用 dplyr:

这是我的建议,但它不会在 R Studio 中返回结果:

df %>% 
  filter(!is.na(column)) %>% 
  filter(column, between(row_number(), 1, (length(df) - 3))
Run Code Online (Sandbox Code Playgroud)

Mat*_* W. 5

我知道我在这件事上迟到了 6 个月,但对于将来寻找的任何人来说 - 您可以使用slice像 iloc 这样的索引位置来切割数据帧。您可以使用 nrow(.) 调出数据框中的行数。如果你想删除顶部 6 和底部 6,你可以做..

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

df %>%
  slice(-c(1:6, (nrow(.)-5):nrow(.)))
Run Code Online (Sandbox Code Playgroud)

所有行保持在第 7 个位置和第 7 个到最后一个位置之间,你会这样做

df %>%
   slice(7:(nrow(.)-6))
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!