繁体   English   中英

基于函数的 R tidyverse 到 sumif

[英]R tidyverse to sumif based on function

我有一个这样的 df:

df1

var1 var2 text
1    0    A 
1    1    A
0    1    B

所以我想基于像这样的 sumif 函数生成两个新的:

df2

text var1   var2
A    2      1
B    0      1
tot  2      4

和...

df3

text var1   var2
A    100    50
B    0      50

所以第一个基于计数,第二个基于列 %

谢谢。

要获得df2

library(dplyr)

df1 %>% group_by(text) %>% summarise_all(sum) %>% janitor::adorn_totals('row')

#  text var1 var2
#     A    2    1
#     B    0    1
# Total    2    2

df3

df1 %>% group_by(text) %>% summarise_all(sum) %>% mutate_at(-1, ~./sum(.) * 100)

#  text   var1  var2
#  <fct> <dbl> <dbl>
#1 A       100    50
#2 B         0    50

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM