Recebi essa dúvida por email:
Tenho uma base de dados em que tenho um coluna chamada “sintomas” e os campos preenchidos da seguinte forma: “febre;tosse;dor”.
Preciso separar esta coluna em novas colunas da seguinte forma: “sintoma_febre”, “sintoma_tosse”, “sintoma_dor”; ao invés de “sintoma_1”, “sintoma_2”, “sintoma_3”.
Será que você conseguiria me orientar sobre o nome da função pra eu resolver isso?
2 curtidas
Eu usaria a função tidyr::separate()
, e o argumento into
é útil para declarar o nome das colunas que serão criadas.
library(magrittr, include.only = "%>%")
# criando uma base para fazer o exemplo
exemplo_dataset <- tibble::tibble(sintoma = c(
"com febre;com tosse;com dor",
"sem febre;sem tosse;com dor"
))
exemplo_dataset
#> # A tibble: 2 x 1
#> sintoma
#> <chr>
#> 1 com febre;com tosse;com dor
#> 2 sem febre;sem tosse;com dor
# usando a função tidyr::separate() para separar os valores da coluna sintomas
exemplo_dataset %>%
tidyr::separate(
col = sintoma, # qual coluna pra separar
# into - qual é o nome das colunas a serem criadas
into = c("sintoma_febre", "sintoma_tosse", "sintoma_dor"),
sep = ";" # o separador usado
)
#> # A tibble: 2 x 3
#> sintoma_febre sintoma_tosse sintoma_dor
#> <chr> <chr> <chr>
#> 1 com febre com tosse com dor
#> 2 sem febre sem tosse com dor
Created on 2021-05-18 by the reprex package (v2.0.0)
5 curtidas