繁体   English   中英

R:合并具有相同ID的行,然后扩展列

[英]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命令将重复IDyear列,因此删除除第一个实例外的所有实例。 然后清理名称。 如果名称与问题中的名称不完全相同,并且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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM