我有一个如下数据表:
city year t_20 t_25
Seattle 2019 82 91
Seattle 2018 0 103
NYC 2010 78 8
DC 2011 71 0
DC 2011 0 0
DC 2018 60 0
我想按city
和year
对它们进行分组
并计算每组中的零个数。
我该怎么做?通过summarize_at
?
df %>% group_by(city, year) %>% summarise_at( WHAT GOES HERE , vars(t_20:t_25))
summarize_at
的第一个参数应该是什么?
或其他方式? tally
?
答案 0 :(得分:0)
简单的分组操作很适合使用SQL进行表述。对于那些倾向于使用SQL的人,我们还可以尝试使用sqldf
库解决此问题:
library(sqldf)
sql <- "SELECT city, COUNT(CASE WHEN t_20 = 0 THEN 1 END) AS t_20_cnt,
COUNT(CASE WHEN t_25 = 0 THEN 1 END) AS t_25_cnt
FROM df
GROUP BY city"
output <- sqldf(sql)