У меня есть файл csv, в котором есть информация об учениках и их весе из разных школ.
e.g.
School School code Weight Age Height
A 1 91 15 1.6
A 1 60 16 2.0
B 2 61 14 1.8
B 2 92 13 1.7
B 2 67 14 1.5
B 2 56 15 1.7
C 3 95 16 1.7
C 3 72 17 1.5
A 1 62 15 2.0
A 1 96 15 1.9
D 4 84 17 2.0
D 4 51 17 1.6
D 4 99 18 1.6
C 3 79 17 1.8
C 3 83 17 2.0
C 3 81 16 1.9
D 4 93 17 1.6
D 4 62 18 1.5
B 2 98 14 2.0
B 2 73 13 1.6
Я хотел бы повторно отобрать n весов с заменой, суммировать мои n весов, а затем вычислить 95-й квантиль полученного распределения. Я хотел бы сделать это для учащихся в каждой из 200 школ, варьируя n от 1 до 25, чтобы получить следующий результат:
n=1 2 3 4 … 25
School code =1
2
3
4 95th percentile of distrinution
5
…
200
Я использую tapply(), чтобы найти ответ n=1 для всех 200 школ.
tapply(weight,schoolcode,quantile,probs=0.95)
и я использую repilcate(), sum() и sample() для имитации 1000 комбинаций сложения двух весов вместе.
nstudents=replicate(1000, sum(sample(weight, size=n, replace=TRUE)
У меня возникли проблемы с объединением двух вышеперечисленных, чтобы воспроизвести сумму и образец в функции tapply.
Пожалуйста, порекомендуйте.
Я новичок в Р.