3

Consider

ext <- data.frame(cond = rep(c('a', 'b'), each = 2), dat = runif(4) )

I want

exw <- unstack(ext, dat ~ cond)

But I would like to do it with dcast() in reshape2 (for pedagogical purposes). Is this possible?

4

1 回答 1

5

你必须告诉dcast有一个识别行ID:

例如:

dcast(ext, 1:2~cond)
  1:2         a         b
1   1 0.5706567 0.4360110
2   2 0.0305229 0.7032459

而且,更一般地说:

ext$id <- sequence(rle(as.character(ext$cond))$lengths)
dcast(ext, id~cond, value.var="dat")

  id         a         b
1  1 0.5706567 0.4360110
2  2 0.0305229 0.7032459
于 2012-11-19T16:13:19.517 回答