내가 names
각 group
이 아닌 첫 번째없는 이름에 대한 좀하고 싶습니다, 여기에 다음과 같은 간단한 예Dplyr : 그룹별로 누락 된 첫 번째 문자열을 찾는 방법은 무엇입니까?
group <-c('A','A','A','B','B','B','B')
names<- c(NA,'fred',NA,'josh','josh',NA,NA)
data=data_frame(group,names)
> data
# A tibble: 7 × 2
group names
<chr> <chr>
1 A <NA>
2 A fred
3 A <NA>
4 B josh
5 B josh
6 B <NA>
7 B <NA>
을 고려하십시오. 어떻게해야합니까? coalesce
및 first
을 사용하는 아래 해결책은 실패합니다.
data %>% group_by(group) %>% mutate(first_non_missing = first(names),
first_non_missing_alt = coalesce(names)) %>% ungroup()
# A tibble: 7 × 4
group names first_non_missing first_non_missing_alt
<chr> <chr> <chr> <chr>
1 A <NA> <NA> <NA>
2 A fred <NA> fred
3 A <NA> <NA> <NA>
4 B josh josh josh
5 B josh josh josh
6 B <NA> josh <NA>
7 B <NA> josh <NA>
사실, 그룹 A
를 들어, first_non_missing
는 ..
많은 감사 세 관측 fred
해야합니다!
예상되는 결과는 무엇입니까? 발견 된 이름은 주어진 그룹의 새로운 변수에 모든 값을 채워야합니까? –
네, 그냥 정기적 인 돌연변이. 동일한 크기의 원본 데이터 프레임 및 각 그룹의 '이름'에 첫 번째 누락 된 문자열을 반복하는 새로운 열 –
감사하지만 친구가 누군가보다 빠릅니다 : D –