v1=rep(c("a","b","c","d"),each=5)
v2=rep(c(10,12,9,7),each=5)
v3=c("y","y","w","y","y",rep(c("f"),times=5),rep(c("y"),times=4),"w",rep(c("k"),times=5))
v4=c("j","j","w","j","j",rep(c("q"),times=5),rep(c("l"),times=4),"w",rep(c("n"),times=5))
df=data.frame(v1,v2,v3,v4)
v1 v2 v3 v4
1 a 10 y j
2 a 10 y j
3 a 10 w w
4 a 10 y j
5 a 10 y j
6 b 12 f q
7 b 12 f q
8 b 12 f q
9 b 12 f q
10 b 12 f q
11 c 9 y l
12 c 9 y l
13 c 9 y l
14 c 9 y l
15 c 9 w w
16 d 7 k n
17 d 7 k n
18 d 7 k n
19 d 7 k n
20 d 7 k n
>
Run Code Online (Sandbox Code Playgroud)
我希望继续观察那些v3="w"和v4="w"
v1 v2 v3 v4
1 a 10 y j
2 a 10 y j
3 a 10 w w
4 a 10 y j
5 a 10 y j
6 c 9 y l
7 c 9 y l
8 c 9 y l
9 c 9 y l
10 c 9 w w
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢
请使用空格.除此之外的任何编码风格都会更好.关于你的问题,你需要做一些@agerom和@thotal建议的事情,并加以扭曲.v1从子集中收集这些值并使用它们进一步对data.frame进行子集化.
> df[df$v1 %in% unique(df[df$v4 == "w" & df$v3 == "w", ]$v1), ]
v1 v2 v3 v4
1 a 10 y j
2 a 10 y j
3 a 10 w w
4 a 10 y j
5 a 10 y j
11 c 9 y l
12 c 9 y l
13 c 9 y l
14 c 9 y l
15 c 9 w w
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |