在介绍reshape2之前先看一个有意思的例子
数据的变形
#UNlist
x=list(x=1:3,y=5:10)
x=unlist(x)
#with 除数据框外还可以使用其他类型数据
with(data,{x=log(x),y=y^2})
reshape2
:主要 有两个函数:melt 和 cast
reshape(data,id.vars,measure.vars,variable.name,na.rm=F,value.name=”value”)
#数组的melt
data=array(1:8,dim=c(2,2,2))
melt(data)
#列表的melt
data=list(x=1:3,y=4:6,z=7:9)
melt(data)
#数据框melt
data=melt(data,id=c(),value="",variable.name="")
数据的还原
acast和dcast
cast函数使用公式参数,工作左边每个变量作为结果中的一列,而右边的变量被当成因子类型,每个水平都会产生一列
dcast(data,year+month+day~value)