Допустим, у меня есть следующий набор данных:
data = read.table(text = "teamID quiz.1.answer quiz.1.solution quiz.2.answer quiz.2.solution
1 2 2 4 4
1 3 2 1 4", header = T)
> data
teamID quiz.1.answer quiz.1.solution quiz.2.answer quiz.3.solution
1 1 2 2 4 4
2 1 3 2 1 4
Я хотел бы создать столбец для каждого человека в команде (лиц с одинаковым уникальным идентификатором команды), который соответствует значениям другого человекав их команде.Так, например:
data_final = read.table(text = "teamID quiz.1.answer quiz.1.solution quiz.2.answer quiz.2.solution partner_quiz.1.answer partner_quiz.1.solution partner_quiz.2.answer partner_quiz.2.solution
1 2 2 4 4 3 2 1 4
1 3 2 1 4 2 2 4 4", header = T)
При таком выводе:
> data_final
teamID quiz.1.answer quiz.1.solution quiz.2.answer quiz.2.solution partner_quiz.1.answer partner_quiz.1.solution
1 1 2 2 4 4 3 2
2 1 3 2 1 4 2 2
partner_quiz.2.answer partner_quiz.2.solution
1 1 4
2 4 4
Все соответствующие столбцы будут снабжены суффиксом «ответ» или «решение».Будет только две команды.
Я могу эмулировать это поведение с помощью следующего кода для каждой переменной.Однако в фактическом наборе данных у меня более 100 вопросов и решений для викторин, поэтому мне нужно найти способ сделать это для переменных, соответствующих конкретному запросу регулярного выражения.А именно, викторина [номер 1-100] .ответ или решение
data <- transform(data,partner_quiz.1.answer=ave(quiz.1.answer,teamID,FUN=rev))