如何删除每个新变量的第一行?例如,这里有一些数据:
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)
谢谢.
只需使用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)