reshape2:dcast很高,没有聚合

mk9*_*k9y 3 r reshape2

考虑

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

我想要

exw <- unstack(ext, dat ~ cond)
Run Code Online (Sandbox Code Playgroud)

但我想做到这一点的dcast()reshape2(用于教育的目的).这可能吗?

And*_*rie 5

您必须告诉dcast我们有一个标识行ID:

例如:

dcast(ext, 1:2~cond)
  1:2         a         b
1   1 0.5706567 0.4360110
2   2 0.0305229 0.7032459
Run Code Online (Sandbox Code Playgroud)

更一般地说:

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
Run Code Online (Sandbox Code Playgroud)