Изменение формы data.frame

У меня есть следующая таблица

structure(list(Compound = structure(c(1L, 2L, 3L, 1L, 1L, 3L), .Label = c("Nap", 
"Phe", "tre"), class = "factor"), Area = c(17197669L, 19464754L, 
35792660L, 10097291L, 348395L, 2576352L), Samples = structure(c(1L, 
1L, 1L, 2L, 3L, 2L), .Label = c("a1", "a2", "a3"), class = "factor")), .Names = c("Compound", 
"Area", "Samples"), class = "data.frame", row.names = c(NA, -6L
))

который я хочу переупорядочить как это

structure(list(Compound = structure(1:3, .Label = c("Nap", "Phe", 
"tre"), class = "factor"), a1 = c(17197669L, 19464754L, 35792660L
), a2 = c(10097291L, 0L, 2576352L), a3 = c(348395L, 0L, 0L)), .Names = c("Compound", 
"a1", "a2", "a3"), class = "data.frame", row.names = c(NA, -3L
))

любое предложение? Я понятия не имею, как начать.


person FranciscoC    schedule 25.02.2013    source источник
comment
В R это называется изменением формы. Должно быть, уже опубликованы сотни проработанных примеров. Поищите немного.   -  person IRTFM    schedule 25.02.2013
comment
Извините, DWin, спасибо, это должно меня начать.   -  person FranciscoC    schedule 25.02.2013


Ответы (1)


Если data ваша первая таблица, вы можете начать с этого:

reshape(data,idvar="Compound",timevar="Samples",direction="wide")

Подробнее см. ?reshape.

person Theodore Lytras    schedule 25.02.2013