我有一个大型数据集,需要将其从宽格式转换为长格式。这应该足够简单,并且在该论坛上有很多有关如何执行此操作的示例。但是,在这种情况下,我还需要拆分宽格式使用的列标题,并为每个长格式创建一个列。
示例数据集
data <- data.frame("East2010"=1:3, "West2010"=4:6, "East2011"=7:9, "West2011"=5:7)
data
East.2010 West.2010 East.2011 West.2011
1 1 4 7 5
2 2 5 8 6
3 3 6 9 7
Run Code Online (Sandbox Code Playgroud)
我想要的是这样的
Site Year Response
East 2010 1
East 2010 2
East 2010 3
West 2010 4
West 2010 5
West 2010 6
East 2011 7
East 2011 8
East 2011 9
West 2011 5
West 2011 6
West 2011 7
Run Code Online (Sandbox Code Playgroud)
我在这个论坛上看了很多示例,这些示例将融合数据以将其转换为长格式,而其他示例则在定界符处进行列拆分,但是我无法使两者一起工作。
以下是我输入的一个小例子:
Term <- c("Fall 2010", "Fall 2010", "Fall 2011", "Fall 2011", "Fall 2011", "Fall 2011", "Fall 2010", "Fall 2010", "Fall 2011", "Fall 2011", "Fall 2011", "Fall 2011")
College <- c("COE", "COBA", "COBA", "COLFA", "COE", "COBA", "COBA", "COBA", "COBA", "COBA", "COBA", "COLFA")
mydata <- data.frame(Term, College)
mydata
#Used the tables library to create a count of the occurrences.
require(tables)
tab<- tabular(Factor(College) ~ (Factor(Term)), data=mydata)
tab
Run Code Online (Sandbox Code Playgroud)
我想计算每一行从2010年秋季到2011年秋季的百分比变化,并将其放在表格的一列中.任何有关这方面的帮助将非常感激.