У меня есть вектор чисел (nth_RT) и кадр данных (ДФ):значения Mapping от вектора к кадру данных: Вычисление процентиля
nth_RT
[1] 0.61 0.47 0.50 0.53 0.50 0.56
df
# Subject RT Trial Block Rank
# (int) (int) (int) (int) (int)
#1 1 234 1 1 1
#2 1 239 3 1 2
#3 1 563 2 1 3
#4 1 230 1 2 1
#5 1 234 3 2 2
#6 1 467 2 2 3
#7 1 111 3 3 1
#8 1 466 2 3 2
#9 1 543 1 3 3
#10 2 44 2 1 1
#11 2 223 3 1 2
#12 2 343 1 1 3
#13 2 34 2 2 1
#14 2 242 3 2 2
#15 2 324 1 2 3
#16 2 54 1 3 1
#17 2 345 3 3 2
#18 2 656 2 3 3
Я хочу, чтобы вычислить и добавить как новый столбец (nth) n-й процентиль для каждого блока на одного субъекта, то есть 61-й пекентиль RT для 1-го блока 1-й предмет, 47-й шаг из RT для второго блока 1-й предмет, 50-й процентиль RT для третьего блок 1-й предмет, 53-й процентиль 1-го блока 2-го участника и т. д. Таким образом, кадр данных будет выглядеть так:
df
# Subject RT Trial Block Rank nth
#1 1 234 1 1 1 310.28
#2 1 239 3 1 2 310.28
#3 1 563 2 1 3 310.28
#4 1 230 1 2 1 233.76
#5 1 234 3 2 2 233.76
#6 1 467 2 2 3 233.76
#7 1 111 3 3 1 466
#8 1 466 2 3 2 466
#9 1 543 1 3 3 466
#10 2 44 2 1 1 230.2
#11 2 223 3 1 2 230.2
#12 2 343 1 1 3 230.2
#13 2 34 2 2 1 242
#14 2 242 3 2 2 242
#15 2 324 1 2 3 242
#16 2 54 1 3 1 382.32
#17 2 345 3 3 2 382.32
#18 2 656 2 3 3 382.32
У меня есть код для одного блока на одного участника, но он не работает:
nth_RT <-quantile(df$RT ~ Block * Subject, nth_RT[1])
Есть ли лучший способ вычисления процентилей и добавление их в качестве нового столбца? Я думаю, можно было бы использовать цикл или функцию для последовательного чтения каждого значения из вектора, а затем вычислять процентили.
спасибо большое за ответ! он работал отлично. действительно, я думаю, я определенно должен проверить некоторые сведения о формулах. – MariKo