Я начинаю с кадра данных, который состоит из трех столбцов. В колонке № 1 указаны идентификаторы, указывающие 3 разных периода времени, когда вес (столбец № 3) некоторых лиц (столбец № 2) был измерен в кг.R-формат data.frame в другой 'комбинированный' data.frame на основе общих значений внутри столбца, зависящего от разных столбцов
Все люди были измерены нерегулярно, что означает, что некоторые люди измеряются несколько раз или только один раз в течение периода времени, но не во все периоды времени.
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. Существует два соответствующих 'широких' формата: один со строкой для каждой группы (тот, который вы хотите), и один с строкой для каждого человека. Переключение между длинными и широкими форматами обычно называется 'reshaping'; мы «переплавляем» широкие данные в длинные данные и «отбрасываем» длинные данные в широкие данные. Это мощные концепции, и 'reshape2' - отличная реализация их - делает жизнь намного проще. Хорошо стоит потратить время, чтобы учиться. –
«Ну стоит потратить время, чтобы учиться». Решение Йорана одобрило ваше предложение. –