Mesclando colunas e alfabetizando seus conteúdos [duplicar]
Dec 02 2020
Eu tenho um quadro de dados chamado chamado issuesdata
que criei de um quadro maior,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
Tenho dois objetivos:
- Mesclar estas colunas em conjunto de tal forma que há uma quarta coluna que contém todas as questões em uma cadeia de caracteres (nome da coluna:
allissues
) - O texto das questões em
allissues
estão em ordem alfabética
Por exemplo, a linha 2 de allissues
permaneceria na forma, economic unification
mas seria uma sequência de caracteres. A linha 4 seria Aviation Transportation
, enquanto a linha 6 é economic humanrights slavery
.
Como faço para fazer isso?
Respostas
1 RonakShah Dec 02 2020 at 13:01
Solte os valores NA em linha, classifique-os e cole-os.
Na base R:
issuesdata$combine <- apply(issuesdata, 1, function(x)
toString(sort(na.omit(x))))
Ou com 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
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?