LDT*_*LDT 5 r dataframe dplyr tidyverse
我有一个看起来像这样的 data.frame。
dat1=data.frame(time=c(1,2,1,2,1,2,1,2), team=c("A","A","A","A","B","B","C","C"), name=c("LT","LT","CH","CH","CH","CH","AT","AT"))
time team name
1 A LT
2 A LT
1 A CH
2 A CH
1 B CH
2 B CH
1 C AT
2 C AT
Run Code Online (Sandbox Code Playgroud)
我想对 dplyr 说,请 group_by "team" 并过滤包含名称 "LT" 的每个团队的行。如果团队不包含名称“LT”,则过滤名称“CH”。
我希望我的 data.frame 看起来像这样。
time team name
1 A LT
2 A LT
1 B CH
2 B CH
Run Code Online (Sandbox Code Playgroud)
任何帮助都受到高度赞赏
一种dplyr选择可能是:
dat1 %>%
group_by(team) %>%
filter(if(any(name == "LT")) name == "LT" else name == "CH")
time team name
<dbl> <fct> <fct>
1 1 A LT
2 2 A LT
3 1 B CH
4 2 B CH
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |