这是我的数据框:
categ <- c('a','a','a','b','b')
value <- c(1,2,5,4,5)
df <- data.frame(categ, value)
我想通过
categ
分组列并删除每个组中的第一个/最后一个元素。理想情况下,我想创建一个列,指示每个组中的第一个/最后一个元素。这是我尝试过的,但没有奏效:library('plyr')
ddply(df, .(categ), function(x) x[-nrow(x)])
附言这可能是重复的问题,但我是 R 的新手,而且 R 非常神秘,所以我无法立即移植解决方案。
最佳答案
有一个更简单的解决方案,使用 {dplyr} 删除每组的第一行:
library(dplyr)
df %>%
group_by(categ) %>%
slice(2:n())
删除每组的最后一行:
df %>%
group_by(categ) %>%
slice(1:(n()-1))
关于r - 删除/删除每组 R 中的最后/第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41069925/