[Rd] Is aggregate() function changing?
Gabor Grothendieck
ggrothendieck at gmail.com
Tue Mar 24 12:56:05 CET 2009
On Tue, Mar 24, 2009 at 7:07 AM, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
> On 24/03/2009 12:44 AM, Kenneth Roy Cabrera Torres wrote:
>>
>> Hi R developers and debian users:
>>
>> Finally I found how to work with aggregate() function
>> on the last patched version fo R.
>>
>> I you use this command it fails:
>> aggregate(state.x77, list(Region = state.region), mean)
>>
>> But if you modify it in this way, it works!:
>>
>> aggregate(state.x77, list(Region = state.region), function(x) mean(x) )
>>
>> Is it necesary to change the example?
>>
>> What is changing in aggregate() function?
>
> I get identical results from those, but if I had a local variable (not a
> function) named "mean", the first one would not work:
>
>> mean <- 2
>> aggregate(state.x77, list(Region = state.region), mean)
> Error in FUN(X[[1L]], ...) : element 1 is empty;
> the part of the args list of 'is.list' being evaluated was:
> (INDEX)
>
> I suspect that is what is going wrong for you.
>
although "mean" in quotes works even then:
> mean <- 1
> aggregate(state.x77, list(Region = state.region), "mean")
Region Population Income Illiteracy Life Exp Murder HS Grad
1 Northeast 5495.111 4570.222 1.000000 71.26444 4.722222 53.96667
2 South 4208.125 4011.938 1.737500 69.70625 10.581250 44.34375
3 North Central 4803.000 4611.083 0.700000 71.76667 5.275000 54.51667
4 West 2915.308 4702.615 1.023077 71.23462 7.215385 62.00000
Frost Area
1 132.7778 18141.00
2 64.6250 54605.12
3 138.8333 62652.00
4 102.1538 134463.00
More information about the R-devel
mailing list