Преобразовать столбчатые данные в группы - PullRequest
0 голосов
/ 19 января 2012

Как преобразовать фрейм данных в форме

x  y
1  4
2  5
3  6

в

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

для функции, которая ожидает сгруппированные данные?

Ответы [ 2 ]

7 голосов
/ 19 января 2012

Взгляните на 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

Полагаю, мне следует добавить ответ "любитель", который будет melt из пакета plyr .

1 голос
/ 19 января 2012

Я думаю, что ответ @ joran лучше, но это также сделало бы работу:

with(dat, data.frame(values =c(x,y), ind=rep(names(dat), each=nrow(dat) ) ) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...