Мне нужно выбрать несколько значений в каждой строке нижеуказанного набора данных и вычислить сумму .
Это часть моего набора данных.
> prova
key_duration1 key_duration2 key_duration3 KeyPress1RESP KeyPress2RESP KeyPress3RESP
18 3483 364 3509 b n m
19 2367 818 3924 b n m
20 3775 1591 802 b m n
21 929 3059 744 n b n
22 3732 530 1769 b n m
23 3503 2011 2932 b n b
24 3684 1424 1688 b n m
Строки - это испытания эксперимента, а столбцы - нажатые клавиши во временной последовательности (keypressRESP
) и количество времениключ до следующего (key_duration
).
Так, например, в первом испытании (первая строка) я нажал «b», а через 3483 мс я нажал «n» и т. Д.
Это мой фрейм данных
structure(list(key_duration1 = c(3483L, 2367L, 3775L, 929L, 3732L,
3503L, 3684L), key_duration2 = c(364L, 818L, 1591L, 3059L, 530L,
2011L, 1424L), key_duration3 = c(3509, 3924, 802, 744, 1769,
2932, 1688), KeyPress1RESP = structure(c(2L, 2L, 2L, 4L, 2L,
2L, 2L), .Label = c("", "b", "m", "n"), class = "factor"), KeyPress2RESP = structure(c(4L,
4L, 3L, 2L, 4L, 4L, 4L), .Label = c("", "b", "m", "n"), class = "factor"),
KeyPress3RESP = structure(c(3L, 3L, 4L, 4L, 3L, 2L, 3L), .Label = c("",
"b", "m", "n"), class = "factor")), row.names = 18:24, class = "data.frame")
Мне нужен метод для выбора в каждой строке (пробная версия) всех значений "b", вычисления sum(key_duration)
и печати значений в новом столбце, то же самое для "m".
Как я могу сделать?
Я думаю, что мне нужна функция, похожая на 'apply ()', но без вычисления всех значений в строке, но только выбранных значений.
apply(prova[,1:3],1,sum)
Спасибо