Como pivot_wider este pequeno conjunto de dados? Quero colocar a corrida como cabeçalho de coluna com cada contagem, mas por um motivo desconhecido, ela coloca todas as contagens em uma lista. Também recebendo o aviso abaixo:
library(tidyverse)
a <- structure(list(Count = c(1, 1, 3, 1, 2, 1, 2, 1, 3, 1, 1, 2,
2, 1, 3, 3, 3, 5, 3, 3), race = c("L", "F", "W", "F", "F", "LF",
"F", "F", "F", "F", "F", "F", "F", "S", "F", "F", "F", "F", "F",
"F"), year = c("2012", "2013", "2013", "2013", "2013", "2013",
"2013", "2012", "2013", "2013", "2012", "2013", "2013", "2013",
"2013", "2013", "2013", "2013", "2013", "2013")), row.names = c(NA,
20L), class = "data.frame")
a
Count race year
1 1 L 2012
2 1 F 2013
3 3 W 2013
4 1 F 2013
5 2 F 2013
6 1 LF 2013
7 2 F 2013
8 1 F 2012
9 3 F 2013
10 1 F 2013
11 1 F 2012
12 2 F 2013
13 2 F 2013
14 1 S 2013
15 3 F 2013
16 3 F 2013
17 3 F 2013
18 5 F 2013
19 3 F 2013
20 3 F 2013
a %>% pivot_wider(names_from = race, values_from = Count)
# A tibble: 2 x 6
year L F W LF S
<chr> <list> <list> <list> <list> <list>
1 2012 <dbl [1]> <dbl [2]> <NULL> <NULL> <NULL>
2 2013 <NULL> <dbl [14]> <dbl [1]> <dbl [1]> <dbl [1]>
Warning message:
Values from `Count` are not uniquely identified; output will contain list-cols.
* Use `values_fn = list` to suppress this warning.
* Use `values_fn = {summary_fun}` to summarise duplicates.
* Use the following dplyr code to identify duplicates.
{data} %>%
dplyr::group_by(year, race) %>%
dplyr::summarise(n = dplyr::n(), .groups = "drop") %>%
dplyr::filter(n > 1L)
EDITADO: Resultado esperado
year L F W LF S
2012 1 1 0 0 0
2012 0 1 0 0 0
2013 0 1 3 1 0
2013 0 1 0 0 0
2013 ... ... ... ... ...
2013 ... ... ... ... ...
2013 ... ... ... ... ...
2013 0 3 0 0 0
2013 ... ... ... ... ...
Se bem entendi, você quer algo como abaixo. Como você não deseja que as múltiplas observações para cada
race
paryear
sejam combinadas ou agregadas de alguma forma, você pode criar uma nova variável (eu a chamei deobs
) que é o número da observação dentrorace
doyear
par e, portanto, essa variável manterá esses valores separados em vez de tentar combiná-los ou agregá-los.Criado em 03/09/2023 com reprex v2.0.2