У меня есть большой набор данных о забитых головах в футбольных матчах, отсортированных по матчу и последовательности забитых мячей. Это в следующем формате. В настоящее время у меня есть только первые 2 столбца, третий - это то, что я изо всех сил пытаюсь создать:
Goal.Sequence Goal.Difference Running.Difference
0 0 0
1 1 1
2 -1 0
25 0 0
0 0 0
1 1 1
2 1 2
3 -1 1
4 1 2
25 0 2
0 0 0
1 -1 -1
2 -1 -2
25 0 -2
Каждая строка представляет собой забитый гол, за исключением любой строки с порядковым номером 0 или 25 (это фиктивные строки для начальной точки матча и конечной точки матча). Столбец Goal.Difference представляет собой гол с точки зрения хозяев поля (+1, если они забили, -1, если они пропустили). Таким образом, образец моих данных выше представляет 3 разных матча, результаты которых были 1-1, 3-1 и 0-2.
Я хочу создать третий столбец для разницы в текущем счете в матче, но который перезапускается при каждом новом матче. Я изо всех сил пытаюсь сделать это, и любая помощь будет оценена по достоинству.
Следуют некоторые примерные данные:
# Provide data in a usable format (e.g. using dput on your data object)
scores <- structure(list(Goal.Sequence = c(0L, 1L, 2L, 25L, 0L, 1L, 2L,
3L, 4L, 25L, 0L, 1L, 2L, 25L),
Goal.Difference = c(0L, 1L, -1L, 0L, 0L, 1L, 1L,
-1L, 1L, 0L, 0L, -1L, -1L, 0L)),
.Names = c("Goal.Sequence", "Goal.Difference", "match"),
row.names = c(NA, -14L), class = "data.frame")
ave
- исправили сейчас 28.04.2014==25
на==0
, если вы хотите сбрасывать оценки на каждом 0, а не на каждом 25. 28.04.2014ave
упрощает расчет. Тем не менее, вам следует подумать о том, чтобы исправить структуру ваших данных, чтобы иметь один столбец на переменную, и избегать использования фиктивных строк. Таким образом будет лучше работать большинство статистических функций и построения графиков. 28.04.2014