我想对一个宽格式数据集进行重塑,该数据集包含在3个时间点上测量的多个测试:
ID Test Year Fall Spring Winter
1 1 2008 15 16 19
1 1 2009 12 13 27
1 2 2008 22 22 24
1 2 2009 10 14 20
2 1 2008 12 13 25
2 1 2009 16 14 21
2 2 2008 13 11 29
2 2 2009 23 20 26
3 1 2008 11 12 22
3 1 2009 13 11 27
3 2 2008 17 12 23
3 2 2009 14 9 31
将测试按列分隔到数据集中,但将测量时间转换为长格式,在每个新列中都是这样的:
ID Year Time Test1 Test2
1 2008 Fall 15 22
1 2008 Spring 16 22
1 2008 Winter 19 24
1 2009 Fall 12 10
1 2009 Spring 13 14
1 2009 Winter 27 20
2 2008 Fall 12 13
2 2008 Spring 13 11
2 2008 Winter 25 29
2 2009 Fall 16 23
2 2009 Spring 14 20
2 2009 Winter 21 26
3 2008 Fall 11 17
3 2008 Spring 12 12
3 2008 Winter 22 23
3 2009 Fall 13 14
3 2009 Spring 11 9
3 2009 Winter 27 31
我曾尝试使用reshape和melt但没有成功。现有的帖子都是关于将数据转换为单列结果的。
melt(df, id.var = c("ID", "Test", "Year"), variable.name="Time")
更优雅地执行reshape2解决方案,并消除names(df.m)[names(df.m)=="variable"] <- "Time"
行。与Ricardo不同,我没有勇气自己进行此编辑。 - Ista