Pessoal, bom dia e boa semana.
Por gentileza, eu preciso de uma ajuda para um trabalho que estou fazendo.
Confesso que não sei como fazer.
Eu quero construir a coluna C via as colunas A e B.
Segue abaixo, o exemplo:
A |
B |
C |
222 |
reparo |
reparo-troca |
222 |
reparo |
reparo-troca |
222 |
troca |
reparo-troca |
333 |
nulo |
nulo-reparo |
333 |
nulo |
nulo-reparo |
333 |
reparo |
nulo-reparo |
444 |
troca |
troca-nulo-reparo |
444 |
nulo |
troca-nulo-reparo |
444 |
reparo |
troca-nulo-reparo |
555 |
troca |
troca |
555 |
troca |
troca |
555 |
troca |
troca |
1 curtida
clente
2
Henrique, espero que o código abaixo resolva o seu problema:
# Tabela original
df <- tibble::tribble(
~A, ~B,
222, "reparo",
222, "reparo",
222, "troca",
333, "nulo",
333, "nulo",
333, "reparo",
444, "troca",
444, "nulo",
444, "reparo",
555, "troca",
555, "troca",
555, "troca"
)
# Transformação
df |>
dplyr::group_by(A) |>
dplyr::mutate(C = stringr::str_c(unique(B), collapse = "-")) |>
dplyr::ungroup()
#> # A tibble: 12 × 3
#> A B C
#> <dbl> <chr> <chr>
#> 1 222 reparo reparo-troca
#> 2 222 reparo reparo-troca
#> 3 222 troca reparo-troca
#> 4 333 nulo nulo-reparo
#> 5 333 nulo nulo-reparo
#> 6 333 reparo nulo-reparo
#> 7 444 troca troca-nulo-reparo
#> 8 444 nulo troca-nulo-reparo
#> 9 444 reparo troca-nulo-reparo
#> 10 555 troca troca
#> 11 555 troca troca
#> 12 555 troca troca
# Mais curto, usando um argumento novo da mutate()
df |>
dplyr::mutate(C = stringr::str_c(unique(B), collapse = "-"), .by = A)
#> # A tibble: 12 × 3
#> A B C
#> <dbl> <chr> <chr>
#> 1 222 reparo reparo-troca
#> 2 222 reparo reparo-troca
#> 3 222 troca reparo-troca
#> 4 333 nulo nulo-reparo
#> 5 333 nulo nulo-reparo
#> 6 333 reparo nulo-reparo
#> 7 444 troca troca-nulo-reparo
#> 8 444 nulo troca-nulo-reparo
#> 9 444 reparo troca-nulo-reparo
#> 10 555 troca troca
#> 11 555 troca troca
#> 12 555 troca troca
Created on 2023-07-19 with reprex v2.0.2
Caio, bom dia.
Muito obrigado pela resposta.
Confesso que eu não coloquei no meu contexto. Vou tentar hoje de noite. Porém, eu queria te agradecer pela proatividade. Parabéns.
A noite eu atualizo.
Tu poderias me dizer que curso da curso-r eu aprenderia essas funções?
Grato pela ajuda
Mostrei ao meu chefe e ele validou a resposta.
Obrigado, Caio.
Grato de verdade