Я все еще новичок в группе, и R. У меня есть действительно полезные отзывы по моему последнему запросу, поэтому я надеюсь, что смогу получить дополнительную поддержку со следующим:
За каждую гонку лошади дается рейтинг производительности и код, описывающий тип скачек, в котором участвовала лошадь. ie. Flat, Hurdles, Chase
Мой набор данных содержит данные о скачках за последние 6 гонок для 7 лошадей. Всего 42 спектакля. Я хотел бы удалить выступления, в которых код для рейтинга не равен C (где C - гонка через заборы).
Целые числа DaH - это оценки, присваиваемые лошади за ее выступления за каждая гонка, где DaH1 - это рейтинг самой последней гонки, а DaH6 - рейтинг шестой самой последней гонки.
У меня есть набор данных:
Name Code1 DaH1 Code2 DaH2 Code3 DaH3 Code4 DaH4 Code5 DaH5 Code6 DaH6
1 MORTENS LEAM C 0 C 124 C 121 C 107 C 129 C 127
2 FRANKIE BALLOU C 124 C 117 C 119 C 115 C 119 C 0
3 MAXED OUT KING C 121 C 125 C 123 C 125 C 119 C 0
4 CASUAL CAVALIER C 123 C 120 C 119 C 119 C 108 C 124
5 WELL SMITTEN C 0 C 125 H 82 C 0 C 118 C 122
6 ENVOL DE LA COUR H 122 C 0 C 0 H 132 H 141 H 137
7 UN GUET APENS C 110 H 115 C 123 C 122 C 130 H 127
Я хочу начать с удаления любые гоночные рейтинги (DaH), код которых не равен C. Как только я это сделаю, мне больше не понадобится ни один из столбцов кода. Затем я выполню некоторые базовые c вычисления, такие как максимальное, среднее и медианное значение.
Я попытался использовать melt для перенастройки фрейма данных, используя:
horse_data_changed <- melt(bob_horse, id.vars =c("Name"))
Giving:
Name variable value
1 MORTENS LEAM Code1 C
2 FRANKIE BALLOU Code1 C
3 MAXED OUT KING Code1 C
4 CASUAL CAVALIER Code1 C
5 WELL SMITTEN Code1 C
6 ENVOL DE LA COUR Code1 H
7 UN GUET APENS Code1 C
8 MORTENS LEAM DaH1 0
9 FRANKIE BALLOU DaH1 124
10 MAXED OUT KING DaH1 121
11 CASUAL CAVALIER DaH1 123
12 WELL SMITTEN DaH1 0
13 ENVOL DE LA COUR DaH1 122
14 UN GUET APENS DaH1 110
15 MORTENS LEAM Code2 C
16 FRANKIE BALLOU Code2 C
17 MAXED OUT KING Code2 C
18 CASUAL CAVALIER Code2 C
19 WELL SMITTEN Code2 C
20 ENVOL DE LA COUR Code2 C
21 UN GUET APENS Code2 H
22 MORTENS LEAM DaH2 124
23 FRANKIE BALLOU DaH2 117
24 MAXED OUT KING DaH2 125
25 CASUAL CAVALIER DaH2 120
26 WELL SMITTEN DaH2 125
27 ENVOL DE LA COUR DaH2 0
28 UN GUET APENS DaH2 115
29 MORTENS LEAM Code3 C
30 FRANKIE BALLOU Code3 C
.....
.....
Я надеялся, что это позволит мне затем отфильтровать набор данных, чтобы удалить строки, в которых значение не «C» и соответствующий рейтинг DaH.
Итак, мне нужно удалить строки где код не C, а также соответствующий рейтинг DaH. Например, строки 76 и 77 не были «C», поэтому их необходимо удалить вместе со связанными строками 83 и 84 DaH.
Я подумал о разделении исходного набора данных и просмотре формы по лошади. ie:
Code4 DaH4
1 C 107
2 C 115
3 C 125
4 C 119
5 C 0
6 H 132
7 C 122
Но я уверен, что есть способ удалить рейтинги DaH из исходного набора данных, не разделяя набор данных и go по одной строке за раз. Любая помощь будет принята с благодарностью.