*** Чтобы задать этот вопрос, я удалил столбец Time в моем примере ниже, который существует в моих фактических данных, которые показывают фактическое время (с разными секундами, несмотря на то же номинальное время), что привело к тому, что мои данные имели один балл за строку. Когда я округлил эти времена, я решил проблему с помощью dcast :)R data.table tidying - конденсировать строки на основе множественных критериев
В настоящее время я пытаюсь привести в порядок мои данные, и я сталкиваюсь с некоторыми препятствиями (я начинаю с R и делаю большую часть своего обучения из этого сайт). Я хочу преобразовать свои данные, чтобы симптомы отображались в столбцах, основанных как на совпадении человека, так и на номинальном времени симптома. Благодаря этим данным, я уменьшу свой набор данных из 64 000 наблюдений примерно до 8 000. Мои данные в настоящее время выглядит следующим образом:
Person Nominal.Time Name Score
1 +30 A 6
1 +30 B 9
1 +30 C 3
2 +90 A 1
2 +90 B 5
2 +90 C 2
Я был в состоянии превратить свои данные в следующем:
library(reshape2)
WideSymptomData <- dcast(SymptomData,Person+Nominal.Time~Symptom.Name, value.var="Symptom.Score")
Person Nominal.Time A B C
1 +30 6
1 +30 9
1 +30 3
2 +90 1
2 +90 5
2 +90 2
Но, к сожалению, я озадачен в этой точке. Я исследовал и не могу показаться, чтобы выяснить, как сделать следующий шаг, чтобы в конечном итоге достичь этого:
Person Nominal.Time A B C
1 +30 6 9 3
2 +90 1 5 2
Я думаю, что это question может быть похож на мой, хотя я не был в состоянии успешно применять отвечает за это. Любое руководство очень ценится, спасибо!
'reshape (data, dir = 'wide', idvar = c ('Person', 'Nominal.Time'), timevar = 'Symptom.Name')' – rawr