Допустим, у меня есть следующие данные:
dat <- read.table(text="p1 p2 outcome
jon joe 1-0
jon james 0-1
james ken 1-0
ken jon 1-0", header=T)
Я пытаюсь использовать dplyr для вывода сводной таблицы статистики какого-то конкретного игрока (например, Джона) против каждого другого игрока в кадре данных. Итак, вывод должен быть:
joe: 1-0
james: 1-0
ken: 0-1
Я хочу использовать 'group_by' для работы с корпусом игр joe, но не знаю, как реализовать условные group_by (например, group_by joe, если p1 или p2 == joe). Я мог мутировать, чтобы создать фиктивный столбец, равный 1, если любое из этих условий выполняется, и group_by, но надеялся, что была более экономная стратегия. И затем, единственный способ, которым я могу видеть подсчет «выигрыша» для Джо, - это использовать выражение ifelse, согласно которому, если p1 == Джо и исход == 1-0 или p2 == Джо и исход == 0-1, тогда посчитайте это победой Джо. Однако не уверен, как это сделать, если операторы внутри трубопровода dplyr.