【问题标题】:Filter after group_by in r在 r 中的 group_by 之后过滤
【发布时间】:2018-10-01 16:56:29
【问题描述】:

我想在使用group_by 来过滤变量年份yr 之后的一些数据。 我有贷款发放的年份yr,贷款的statusamount。我想找出每个yr

的贷款总数,其中有多少状态为“已注销”以及状态为“已注销”的贷款金额

我试过的是

    data %>% select(status, yr, amount)%>%
                     group_by(yr) %>%
                     summarise(Nr_of_laons=count(),
                            nr_charged_off=as.numeric(nrow(filter(status=="Charged Off"))))

一定很简单,但我找不到错误。

有什么帮助吗?

【问题讨论】:

    标签: r filter group-by


    【解决方案1】:

    group_by之后,用n()得到计数,得到逻辑表达式的sum

    data %>%
         group_by(yr) %>%
         summarise(Nr_of_loans = n(), 
                   nr_charged_off= sum(status=="Charged Off"),
                   Amt_loans = sum(amount[status== "Charged Off"]))
    

    【讨论】:

    • @Erick 我无法重现该问题
    • 我使用的是 count() fnc 而不是 n()。计数给出以下错误“评估错误:缺少参数“x”,没有默认值。”
    • @Erick count 需要一个 data.frame 作为输入。它在summarise 内不起作用。 os的使用方法data %>% count(yr)
    • 有什么建议可以找到这些状态为“Charged off”的贷款金额吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2020-05-10
    相关资源
    最近更新 更多