[英]R: Combine rows with the same id, and expand the columns
**我有一个这样的数据集:(并且该数据集的名称称为“ 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中做到吗? 谢谢!
使用最后在“注释”中可重复显示的数据,首先对数据进行整形。 reshape
命令将重复ID
和year
列,因此删除除第一个实例外的所有实例。 然后清理名称。 如果名称与问题中的名称不完全相同,并且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
给这个data.frame:
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.