我是dplyr的新手并试图在没有运气的情况下进行以下转换.我在互联网上搜索过,我发现在ddply中做同样的例子,但我想使用dplyr.
我有以下数据:
month type count
1 Feb-14 bbb 341
2 Feb-14 ccc 527
3 Feb-14 aaa 2674
4 Mar-14 bbb 811
5 Mar-14 ccc 1045
6 Mar-14 aaa 4417
7 Apr-14 bbb 1178
8 Apr-14 ccc 1192
9 Apr-14 aaa 4793
10 May-14 bbb 916
.. ... ... ...
Run Code Online (Sandbox Code Playgroud)
我想使用dplyr来计算每个类型(aaa,bbb,ccc)在一个月级别的百分比,即
month type count per
1 Feb-14 bbb 341 9.6%
2 Feb-14 ccc 527 14.87%
3 Feb-14 aaa 2674 ..
.. ... ... ...
Run Code Online (Sandbox Code Playgroud)
我试过了
data %>%
group_by(month, type) %>%
summarise(count …Run Code Online (Sandbox Code Playgroud) 我的问题与Applying group_by非常相似,并在保留所有列信息的同时对数据进行汇总, 但我想保留被排除的列,因为它们在分组后会发生冲突。
Label <- c("203c","203c","204a","204a","204a","204a","204a","204a","204a","204a")
Type <- c("wholefish","flesh","flesh","fleshdelip","formula","formuladelip",
"formula","formuladelip","wholefish", "wholefishdelip")
Proportion <- c(1,1,0.67714,0.67714,0.32285,0.32285,0.32285,
0.32285, 0.67714,0.67714)
N <- (1:10)
C <- (1:10)
Code <- c("c","a","a","b","a","b","c","d","c","d")
df <- data.frame(Label,Type, Proportion, N, C, Code)
df
Label Type Proportion N C Code
1 203c wholefish 1.0000 1 1 c
2 203c flesh 1.0000 2 2 a
3 204a flesh 0.6771 3 3 a
4 204a fleshdelip 0.6771 4 4 b
5 204a formula 0.3228 5 5 a
6 204a formuladelip …Run Code Online (Sandbox Code Playgroud)