3
votes

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?

1

1 Answers

5
votes

You have to tell dcast that there is an identifying row id:

For example:

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

And, more generally:

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