Von langen zu breiten Daten mit mehreren Spalten

Vorschläge für einen reibungslosen Übergang von foo zu foo2 (vorzugsweise mit tidyr- oder reshape2-Paketen)?

Das ist eine Art wiediese Frag, aber ich denke nicht genau, da ich keine Spalten automatisch nummerieren möchte, sondern nur mehrere Spalten verbreitern möchte. Es ist auch eine Art wiediese Frag, aber ich glaube auch nicht, dass die Spalten mit einem Zeilenwert wie in dieser Antwort variieren sollen. Oder eine gültige Antwort auf diese Frage ist, mich davon zu überzeugen, dass es genau wie eine der anderen ist. Die Lösung in der zweiten Frage "Zwei Dcasts plus Zusammenführung" ist derzeit die attraktivste, weil sie für mich verständlich ist.

foo:

foo = data.frame(group=c('a', 'a', 'b', 'b', 'c', 'c'),
                  times=c('before', 'after', 'before', 'after', 'before', 'after'),
                  action_rate=c(0.1,0.15, 0.2, 0.18,0.3, 0.35),
                  num_users=c(100, 100, 200, 200, 300, 300))
foo <- transform(foo,
                 action_rate_c95 = 1.95 * sqrt(action_rate*(1-action_rate)/num_users))

> foo
  group  times action_rate num_users action_rate_c95
1     a before        0.10       100      0.05850000
2     a  after        0.15       100      0.06962893
3     b before        0.20       200      0.05515433
4     b  after        0.18       200      0.05297400
5     c before        0.30       300      0.05159215
6     c  after        0.35       300      0.05369881

foo2:

foo2 <- data.frame(group=c('a', 'b', 'c'),
                   action_rate_before=c(0.1,0.2, 0.3),
                   action_rate_after=c(0.15, 0.18,0.35),
                   action_rate_c95_before=c(0.0585,0.055, 0.05159),
                   action_rate_c95_after=c(0.069, 0.0530,0.0537),
                   num_users=c(100, 200, 300))

> foo2
  group action_rate_before action_rate_after action_rate_c95_before
1     a                0.1              0.15                 0.0585
2     b                0.2              0.18                 0.0550
3     c                0.3              0.35                 0.05159
  action_rate_c95_after num_users
1                 0.0690       100
2                 0.0530       200
3                 0.0537       300

Antworten auf die Frage(6)

Ihre Antwort auf die Frage