Используя данные, воспроизводимые в примечании в конце, сначала измените данные.Команда reshape
будет повторять столбцы ID
и year
, поэтому удалите все, кроме первого экземпляра.Тогда убери имена.Если имена не совпадают с именами в вопросе, а столбцы идентификаторов и годов совпадают, то вы можете просто использовать первую строку.Пакеты не используются.
r <- reshape(DF, dir = "wide", idvar = 1:2, timevar = 3)
r <- r[-tail(grep("year|ID", names(r)), -2)]
names(r) <- sub("\\..*", "", names(r))
r
с указанием этих данных. Кадр:
ID year month score_1 score_2 month score_1 score_2
1 100 2010 1 93 85 2 84 90
2 200 2010 1 94 93 2 90 90
Примечание
Lines <- "
ID year month score_1 score_2
100 2010 1 93 85
200 2010 1 94 93
100 2010 2 84 90
200 2010 2 90 90"
DF <- read.table(text = Lines, header = TRUE)