根据列变量删除第一行

pha*_*ser 0 r

如何删除每个新变量的第一行?例如,这里有一些数据:

m <- c("a","a","a","a","a","b","b","b","b","b") 
n <- c('x','y','x','y','x','y',"x","y",'x',"y") 
o <- c(1:10)

z <- data.frame(m,n,o)
Run Code Online (Sandbox Code Playgroud)

我想删除列m中a和b的第一个条目.我有一个非常大的数据框,所以我想根据从a到b的变化等来做到这一点.

这就是我想要的数据框架.

  m n  o
1 a y  2
2 a x  3
3 a y  4
4 a x  5
5 b x  7
6 b y  8
7 b x  9
8 b y 10
Run Code Online (Sandbox Code Playgroud)

谢谢.

the*_*ail 6

只需使用duplicated:

z[duplicated(z$m),]

#   m n  o
#2  a y  2
#3  a x  3
#4  a y  4
#5  a x  5
#7  b x  7
#8  b y  8
#9  b x  9
#10 b y 10
Run Code Online (Sandbox Code Playgroud)

为什么会这样?考虑:

duplicated("a")
#[1] FALSE
duplicated(c("a","a"))
#[1] FALSE  TRUE
Run Code Online (Sandbox Code Playgroud)