我想按列(所有者)对数据帧进行分组,并输出一个新数据帧,该数据帧在每次观察时都会计算每种类型因子的计数.真实的数据框架相当大,有10个不同的因素.
这是一些示例输入:
library(dplyr)
df = tbl_df(data.frame(owner=c(0,0,1,1), obs1=c("quiet", "loud", "quiet", "loud"), obs2=c("loud", "loud", "quiet", "quiet")))
owner obs1 obs2
1 0 quiet loud
2 0 loud loud
3 1 quiet quiet
4 1 loud quiet
Run Code Online (Sandbox Code Playgroud)
我一直在寻找看起来像这样的输出:
out = data.frame(owner=c("0", "0", "1", "1"), observation=c("obs1", "obs2", "obs1", "obs2"), quiet=c(1, 0, 1, 2), loud=c(1, 2, 1, 0))
owner observation quiet loud
1 0 obs1 1 1
2 0 obs2 0 2
3 1 obs1 1 1
4 1 obs2 2 0
Run Code Online (Sandbox Code Playgroud)
融化让我在那里中途:
melted = tbl_df(melt(df, …Run Code Online (Sandbox Code Playgroud)