열 병합 및 내용 알파벳순 [중복]
Dec 02 2020
issuesdata
더 큰 프레임에서 만든 라는 데이터 프레임이 있습니다.clean.data
issue1 <- as.vector(clean.data$issue1) issue2 <- as.vector(clean.data$issue2)
issue3 <- as.vector(clean.data$issue3)
issuesdata <- data.frame(issue1, issue2, issue3)
issuesdata %>% dplyr::slice(10:15)
issue1 issue2 issue3
1 economic <NA> <NA>
2 economic unification <NA>
3 economic <NA> <NA>
4 transportation aviation <NA>
5 justice <NA> <NA>
6 slavery economic humanrights
두 가지 목표가 있습니다.
- 한 문자열에서 모든 문제를 포함하는 네 번째 열이 있다는 것을 함께 이들과 열 병합 (열 이름 :
allissues
) - 의 문제 텍스트
allissues
는 알파벳순입니다.
예를 들어,의 행 2 allissues
는 양식에 남아 economic unification
있지만 하나의 문자열이됩니다. 행 4는 Aviation Transportation
이고 행 6은 economic humanrights slavery
입니다.
어떻게해야합니까?
답변
1 RonakShah Dec 02 2020 at 13:01
행 단위로 NA 값을 삭제하고 정렬 한 다음 함께 붙여 넣습니다.
기본 R에서 :
issuesdata$combine <- apply(issuesdata, 1, function(x)
toString(sort(na.omit(x))))
또는 dplyr
:
library(dplyr)
issuesdata %>%
rowwise() %>%
mutate(combine = toString(sort(na.omit(c_across()))))
# issue1 issue2 issue3 combine_data
# <chr> <chr> <chr> <chr>
#1 economic NA NA economic
#2 economic unification NA economic, unification
#3 economic NA NA economic
#4 transportation aviation NA aviation, transportation
#5 justice NA NA justice
#6 slavery economic humanrights economic, humanrights, slavery