R: Объединить строки с одинаковым идентификатором и расширить столбцы - PullRequest
0 голосов
/ 31 января 2019

** Я получил набор данных, подобный этому: (и имя набора данных называется "2010.csv")

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

** То, что я хочу, это:

ID year month score_1 score_2  year month score_1 score_2

100 2010  1     93      85     2010   2      84     90

200 2010  1     94      93     2010   2      90     90

Может ли кто-нибудь помочь мне сделать это в R?Спасибо!

1 Ответ

0 голосов
/ 31 января 2019

Используя данные, воспроизводимые в примечании в конце, сначала измените данные.Команда 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...