R语言数据框分组操作如何统计指定列的正负值出现次数
R代码实现方案
你可以直接在summarise()中新增两个统计项,利用布尔值求和的特性实现计数,完整代码如下:
imf.inflation %>% group_by(country_iso_code) %>% summarise( num_yrs = n(), positive_value_cnt = sum(value > 0, na.rm = TRUE), negative_value_cnt = sum(value < 0, na.rm = TRUE) )
逻辑说明
R中布尔值TRUE对应数值1、FALSE对应数值0,直接对value > 0/value < 0生成的布尔向量求和,就能得到对应条件的出现次数。参数na.rm = TRUE用于处理value列存在空值的场景,避免返回异常的NA结果,如果你确认数据集没有缺失的value值,可以省略该参数。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

