Это продолжение до Как искать и суммировать несколько столбцов в R :
У меня есть 3 фрейма данных как таковые:
Группы:
P1 P2 P3 P4
"Joe" "Sally" "A.J." "Mary"
"Cory" "Joe" "Sally" "Katy"
Имена:
ID NAME
123 "Joe"
213 "Sally"
312 "A.J."
231 "Mary"
345 "Cory"
567 "Katy"
Individual_Results:
ID SCORE
123 23
213 12
312 11
231 19
345 10
567 22
Моя цель - создать новый столбец в Groups
со столбцом SCORE
, представляющим собой суммукаждого из результатов в группе
P1 P2 P3 P4 SCORE
"Joe" "Sally" "A.J." "Mary" 65
Следуя примеру ответа в указанном выше вопросе, я попытался сделать следующее
groups$score = apply(groups, 1, function(x){
sum(Individual_Results$SCORE[match(match(x, Names$Name), Individual_Results$ID)])
})
К сожалению, результатом является созданиеновый столбец, но результат равен NA
для каждого счета.
Если я понимаю, как правильно использовать apply
и match
, то я пытаюсь сделать apply
функциюк каждой строке, передавая x
(Name
) в качестве параметра первой функции match
, чтобы получить ID
, а затем сопоставляя возвращенные ID
второму match
, чтобы получить счет- суммируя все оценки в ряду.
Я думаю, что я очень близок, но просто не совсем там. Цени любую помощь!