在dplyr中等效的Pandas iloc功能

时间:2017-04-21 12:21:01

标签: r pandas dplyr

我只想尝试在dplyr中裁剪数据框顶部和底部的行,但无法做到这一点。

在Pandas中我会使用像iloc这样的东西来裁剪行,但是不能用dplyr来解决这个问题:

这是我的建议,但它并没有在R Studio中返回结果:

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

1 个答案:

答案 0 :(得分:3)

我知道我已经迟到了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))

希望这有帮助!