我有两个数据框,x
并且y
. 我rbind
他们得到z
。然后我使用reshape
函数(不是包)来得到下面的答案。
set.seed(1234)
x <- data.frame(rp=c(1:5),dmg=1000*runif(5), loss=500*runif(5), model="m1")
y <- data.frame(rp=c(1:5),dmg=1000*runif(5), loss=500*runif(5), model="m2")
z <- rbind(x, y)
> z
rp dmg loss model
1 113.7 320.2 m1
2 622.3 4.7 m1
3 609.3 116.3 m1
4 623.4 333.0 m1
5 860.9 257.1 m1
1 693.6 418.6 m2
2 545.0 143.1 m2
3 282.7 133.4 m2
4 923.4 93.4 m2
5 292.3 116.1 m2
> reshape(z, idvar="rp", timevar="model", direction="wide")
rp dmg.m1 loss.m1 dmg.m2 loss.m2
1 113.7 320.2 693.6 418.6
2 622.3 4.7 545.0 143.1
3 609.3 116.3 282.7 133.4
4 623.4 333.0 923.4 93.4
5 860.9 257.1 292.3 116.1
在reshape2中使用 cast/melt 组合如何获得相同的结果?