【发布时间】:2013-12-03 15:17:53
【问题描述】:
我有一个这样的数据框:
df <- data.frame(first = rep(c("A","B","C","D","E")), second = rep(c(1,2),each=5),
third = rnorm(10))
.
> df
first second third
1 A 1 -0.47175662
2 B 1 0.92905470
3 C 1 -0.79385274
4 D 1 0.68175904
5 E 1 -0.91112323
6 A 2 0.24941514
7 B 2 -0.74557229
8 C 2 0.92419408
9 D 2 0.34787484
10 E 2 -0.04578459
我想根据列的值将“第二”列拆分为 2 列(对应于第二列中值 1 的第三列的值将形成第 1 列)。所以我会得到:
first 1 2
1 A -0.47175662 0.24941514
2 B 0.9290547 -0.74557229
3 C -0.79385274 0.92419408
4 D 0.68175904 0.34787484
5 E -0.91112323 -0.04578459
我查看了 reshape 包,但不知道该怎么做。我能够使用 xtabs 获得看起来像这样的表格,但我需要在数据框中使用它,而不是在表格中。
【问题讨论】:
-
在
wide方向尝试reshape