【问题标题】:Aggregate function not allowing to aggregate using maximum function聚合函数不允许使用最大函数进行聚合
【发布时间】:2019-09-02 17:52:49
【问题描述】:

我在这里有一个相当基本的问题,但我一生都无法弄清楚为什么它不起作用。

我有这个简单的代码

month = sample(1:12, 5000, replace= TRUE)
year = sample(2000:2019,5000, replace = TRUE)
loss = round(rlnorm(5000,7,2))
claim.data = cbind(month, year, loss)
head(claim.data)

max.year = aggregate(loss~year, data = claim, FUN = max)

但它正在抛出错误

get(as.character(FUN), mode = "function", envir = envir) 中的错误: 找不到模式“功能”的对象“乐趣”

这表明max 函数不起作用。我尝试了各种其他功能,例如meanmin,它们都可以正常工作。

【问题讨论】:

    标签: r function


    【解决方案1】:

    如果函数名称已经分配给另一个对象,那将是一个问题

    max <- 25
    aggregate(loss~year, data = claim.data, FUN = max)
    

    get(as.character(FUN), mode = "function", envir = envir) 中的错误:
    找不到模式“功能”的对象“乐趣”

    要么使用匿名函数调用

    aggregate(loss~year, data = claim.data, FUN = function(x) max(x))
    #   year    loss
    #1  2000  143866
    #2  2001  316487
    #3  2002  186172
    #4  2003  465357
    #5  2004  233817
    #6  2005  847532
    #7  2006  294599
    #8  2007  382048
    #9  2008 1768795
    #10 2009  686856
    #11 2010 1356117
    #12 2011 2093160
    #13 2012  411778
    #14 2013 2002641
    #15 2014  289696
    #16 2015  220853
    #17 2016  428111
    #18 2017  362979
    #19 2018  335988
    #20 2019  178828
    

    或申请新的R 会话

    【讨论】:

    • 啊。是的,这将是因为我已经为 max 分配了一些东西。我没有想到。谢谢!!
    猜你喜欢
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 2021-07-29
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    相关资源
    最近更新 更多