根据r中的条件选择合并行



我有一个data.frame,看起来像这样:

<表类> ID 时间价值tbody><<tr>T1到T2到T3没有BT1到BT2到BT3没有BT1没有BT2没有BT3到CT1到CT2没有CT3没有CT1没有CT2没有CT3到

可以吗?

library(dplyr)
df %>% group_by(ID, Time) %>% filter(all(value == 'no') | value !='no') %>% distinct()
# A tibble: 9 x 3
# Groups:   ID, Time [9]
ID    Time  value
<chr> <chr> <chr>
1 A     T1    up   
2 A     T2    down 
3 A     T3    no   
4 B     T1    up   
5 B     T2    down 
6 B     T3    up   
7 C     T1    up   
8 C     T2    no   
9 C     T3    down 

这也可以处理同时出现up和down的情况,通过在ifelse子句中优先考虑其中一个:

df %>% group_by(A, B) %>% summarise(C = ifelse("up" %in% C, "up", ifelse("down" %in% C, "down", "no")))

最新更新