将列数据转换为组

时间:2012-01-19 18:54:12

标签: r

如何转换

形式的数据框
x  y
1  4
2  5
3  6

value group
  1     x
  2     x
  3     x
  4     y
  5     y
  6     y

对于期望分组数据的函数?

2 个答案:

答案 0 :(得分:7)

看看stack

> dat <- data.frame(x = 1:3,y = 4:6)
> dat
  x y
1 1 4
2 2 5
3 3 6
> stack(dat)
  values ind
1      1   x
2      2   x
3      3   x
4      4   y
5      5   y
6      6   y

我想我应该添加“发烧友”的答案,该答案来自 plyr 包中的melt

答案 1 :(得分:1)

我认为@joran的回答更好,但这也可以做到:

with(dat, data.frame(values =c(x,y), ind=rep(names(dat), each=nrow(dat) ) ) )