Я начинаю с фрейма данных, состоящего из трех столбцов. Столбец № 1 содержит идентификаторы, указывающие на 3 разных периода времени, когда вес (столбец № 3) некоторых людей (столбец № 2) измерялся в кг.
Все люди были измерены нерегулярно, что означает, что некоторые люди были измерены несколько раз или только один раз в течение периода времени, но не за все периоды времени.
id person_name person_weight
1 Carol 51
1 Mike 76
1 Mike 81
1 Dave 66
1 Carol 59
2 James 78
2 Simone 55
2 Simone 49
2 David 85
3 Mike 93
3 Dave 110
3 Dave 98
На самом деле, все это просто упрощенный пример... так что не беспокойтесь, если такой сбор данных не имеет смысла.
Теперь я хочу рассчитать средний (средний) вес для каждого человека за определенный период времени, а затем получить объединенный фрейм данных, который выглядит следующим образом:
group_id Carol Mike Dave James Simone David
1 55 78.5 66 NA NA NA
2 NA NA NA 78 52 85
3 NA 93 104 NA NA NA
Я попробовал некоторые базовые функции R (таблица, применение и т. д.), но не смог справиться с зависимостью между столбцами.
Заранее спасибо за любую помощь, которая приблизит меня ко второму/"комбинированному" кадру данных.
long
. Существует два соответствующих форматаwide
: один со строкой для каждой группы (той, которую вы хотите), а другой со строкой для каждого человека. Переключение между длинным и широким форматами обычно называетсяreshaping
; мыmelt
широкие данные в длинные данные иcast
длинные данные в широкие данные. Это мощные концепции, иreshape2
— их отличная реализация, которая делает жизнь намного проще. Стоит потратить время на изучение. - person Matt Parker   schedule 04.06.2013