[英]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.