Я все еще новичок в группе и R. У меня есть действительно полезные отзывы по моему последнему запросу, поэтому я надеюсь, что смогу получить дополнительную поддержку со следующим:
Я работаю над базой данных о скачках который на данном этапе имеет 4 переменные: номер скаковой лошади, идентификатор скачек, дистанцию скачек и рейтинг (DaH), присвоенный характеристикам лошадей в гонке.
Набор данных:
horse_ratings <- tibble(
horse=c(1,1,1,2,2,2,3,3,3),
raceid=c(1,2,3,1,2,3,1,2,3),
Dist=c(9.47,9.47,10,10.1,10.2,9,11,9.47,10.5),
DaH=c(101,99,103,101,94,87,102,96,62)
)
Предоставление:
> horse_ratings
# A tibble: 9 x 4
horse raceid Dist DaH
<dbl> <dbl> <dbl> <dbl>
1 1 1 9.47 101
2 1 2 9.47 99
3 1 3 10 103
4 2 1 10.1 101
5 2 2 10.2 94
6 2 3 9 87
7 3 1 11 102
8 3 2 9.47 96
9 3 3 10.5 62
Я выполню ряд вычислений с набором данных, таких как средний рейтинг, максимальный рейтинг и т. Д., Которые id хотели бы привести к количеству векторов одинаковой длины.
Я использую функцию фильтра, чтобы посмотреть рейтинги производительности, достигнутые на разных дистанциях гонок (ie. Начальное расстояние больше 10). Однако, если одна из лошадей не участвовала в забеге на эту дистанцию, я заметил, что результат не включает эту лошадь в выходные данные. ie:
> horse_ratings %>%
+ group_by(horse) %>%
+ filter(Dist>10) %>%
+ summarise(mean_rating=mean(DaH))
`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 2 x 2
horse mean_rating
<dbl> <dbl>
1 2 97.5
2 3 82
Итак, лошадь 1 исчезла, поскольку она не участвовала в забеге на дистанцию более 10. Мне нужно сохранить выходной вектор длины 3 в идеале, чтобы я мог поместить все вычисления в в фрейм данных той же длины (для моего окончательного вывода / распечатки данных). Я надеюсь, что есть способ назначить NA или аналогичный результат для лошади 1 Giving:
# A tibble: 2 x 2
horse mean_rating
<dbl> <dbl>
1 1 NA
2 2 97.5
3 3 82
Или аналогичное решение. Помощь будет очень признательна !!