и преобразование из длинного в широкое использование

есть несколько вопросов, похожих на эту тему, но не совсем как в моем случае использования. У меня есть набор данных, где столбцы расположены, как показано ниже

     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    

То, что я пытаюсь сделать, это захватить среднее значение столбца Значение с помощью идентификатора, Описание. Окончательный набор данных будет выглядеть следующим образом.

     Id       Cat         Dog 
     10       14.25       28.5
     11       15.25       15.25

Я могу сделать это очень грубо, не очень эффективно, как это

tempdf1 <- df %>%
  filter(str_detect(Description, "Cat")) %>%
   group_by(Id, Description) %>%
  summarize(Mean_Value = mean(Value) , na.rm = TRUE))

Это не очень удобно. Любые советы о том, как добиться ожидаемых результатов более эффективно, высоко ценится.

Ответы на вопрос(4)

Ваш ответ на вопрос