Agregue por várias colunas e reformule de longo para amplo
Existem algumas perguntas semelhantes a este tópico no SO, mas não exatamente como o meu caso de usuário. Eu tenho um conjunto de dados em que as colunas são dispostas como mostrado abaixo
Id Description Value
10 Cat 19
10 Cat 20
10 Cat 5
10 Cat 13
11 Cat 17
11 Cat 23
11 Cat 7
11 Cat 14
10 Dog 19
10 Dog 20
10 Dog 5
10 Dog 13
11 Dog 17
11 Dog 23
11 Dog 7
11 Dog 14
O que estou tentando fazer é capturar a média da coluna Valor por ID, Descrição. O conjunto de dados final ficaria assim.
Id Cat Dog
10 14.25 28.5
11 15.25 15.25
Eu posso fazer isso de uma maneira muito grosseira, não muito eficiente como esta
tempdf1 <- df %>%
filter(str_detect(Description, "Cat")) %>%
group_by(Id, Description) %>%
summarize(Mean_Value = mean(Value) , na.rm = TRUE))
Isso não é muito conveniente. Qualquer conselho sobre como obter os resultados esperados com mais eficiência é muito apreciado.