[R] Bug in by() function which works for some FUN argument and does not work for others

Adrian Dușa dusa.adrian at unibuc.ro
Thu Apr 14 23:36:52 CEST 2016


I think you are not using the best function for what your intentions are.
Try:

> by(data=mtcars, INDICES=list(as.factor(mtcars$am)), FUN=colMeans)
: 0
        mpg         cyl        disp          hp        drat          wt
   qsec          vs
 17.1473684   6.9473684 290.3789474 160.2631579   3.2863158   3.7688947
 18.1831579   0.3684211
         am        gear        carb
  0.0000000   3.2105263   2.7368421
---------------------------------------------------------------------------
: 1
        mpg         cyl        disp          hp        drat          wt
   qsec          vs
 24.3923077   5.0769231 143.5307692 126.8461538   4.0500000   2.4110000
 17.3600000   0.5384615
         am        gear        carb
  1.0000000   4.3846154   2.9230769

See the difference between colMeans() and mean() in their respective help
files.
Hth,
Adrian

On Thu, Apr 14, 2016 at 11:14 PM, Akhilesh Singh <
akhileshsingh.igkv at gmail.com> wrote:

> Dear Sirs,
>
> I am Professor at Indira Gandhi Krishi Vishwavidyalaya, Raipur,
> Chhattisgarh, India.
>
> While taking classes, I found the *by() *function producing following error
> when I use FUN=mean or median and some other functions, however,
> FUN=summary works.
>
> Given below is the output of the example I used on a built-in dataset
> "mtcars", along with error message reproduced herewith:
>
> > by(data=mtcars, INDICES=list(mtcars$am), FUN=mean)
> : 0
> [1] NA
> ------------------------------------------------------------
> : 1
> [1] NA
> Warning messages:
> 1: In mean.default(data[x, , drop = FALSE], ...) :
>   argument is not numeric or logical: returning NA
> 2: In mean.default(data[x, , drop = FALSE], ...) :
>   argument is not numeric or logical: returning NA
>
> However, the same by() function works for FUN=summary, given below is the
> output:
>
> > by(data=mtcars, INDICES=list(mtcars$am), FUN=summary)
> : 0
>       mpg             cyl             disp             hp
>  Min.   :10.40   Min.   :4.000   Min.   :120.1   Min.   : 62.0
>  1st Qu.:14.95   1st Qu.:6.000   1st Qu.:196.3   1st Qu.:116.5
>  Median :17.30   Median :8.000   Median :275.8   Median :175.0
>  Mean   :17.15   Mean   :6.947   Mean   :290.4   Mean   :160.3
>  3rd Qu.:19.20   3rd Qu.:8.000   3rd Qu.:360.0   3rd Qu.:192.5
>  Max.   :24.40   Max.   :8.000   Max.   :472.0   Max.   :245.0
>       drat             wt             qsec             vs               am
>
>  Min.   :2.760   Min.   :2.465   Min.   :15.41   Min.   :0.0000   Min.   :0
>
>  1st Qu.:3.070   1st Qu.:3.438   1st Qu.:17.18   1st Qu.:0.0000   1st Qu.:0
>
>  Median :3.150   Median :3.520   Median :17.82   Median :0.0000   Median :0
>
>  Mean   :3.286   Mean   :3.769   Mean   :18.18   Mean   :0.3684   Mean   :0
>
>  3rd Qu.:3.695   3rd Qu.:3.842   3rd Qu.:19.17   3rd Qu.:1.0000   3rd Qu.:0
>
>  Max.   :3.920   Max.   :5.424   Max.   :22.90   Max.   :1.0000   Max.   :0
>
>       gear            carb
>  Min.   :3.000   Min.   :1.000
>  1st Qu.:3.000   1st Qu.:2.000
>  Median :3.000   Median :3.000
>  Mean   :3.211   Mean   :2.737
>  3rd Qu.:3.000   3rd Qu.:4.000
>  Max.   :4.000   Max.   :4.000
> ------------------------------------------------------------
> : 1
>       mpg             cyl             disp             hp             drat
>
>  Min.   :15.00   Min.   :4.000   Min.   : 71.1   Min.   : 52.0   Min.
> :3.54
>  1st Qu.:21.00   1st Qu.:4.000   1st Qu.: 79.0   1st Qu.: 66.0   1st
> Qu.:3.85
>  Median :22.80   Median :4.000   Median :120.3   Median :109.0   Median
> :4.08
>  Mean   :24.39   Mean   :5.077   Mean   :143.5   Mean   :126.8   Mean
> :4.05
>  3rd Qu.:30.40   3rd Qu.:6.000   3rd Qu.:160.0   3rd Qu.:113.0   3rd
> Qu.:4.22
>  Max.   :33.90   Max.   :8.000   Max.   :351.0   Max.   :335.0   Max.
> :4.93
>        wt             qsec             vs               am         gear
>
>  Min.   :1.513   Min.   :14.50   Min.   :0.0000   Min.   :1   Min.   :4.000
>
>  1st Qu.:1.935   1st Qu.:16.46   1st Qu.:0.0000   1st Qu.:1   1st Qu.:4.000
>
>  Median :2.320   Median :17.02   Median :1.0000   Median :1   Median :4.000
>
>  Mean   :2.411   Mean   :17.36   Mean   :0.5385   Mean   :1   Mean   :4.385
>
>  3rd Qu.:2.780   3rd Qu.:18.61   3rd Qu.:1.0000   3rd Qu.:1   3rd Qu.:5.000
>
>  Max.   :3.570   Max.   :19.90   Max.   :1.0000   Max.   :1   Max.   :5.000
>
>       carb
>  Min.   :1.000
>  1st Qu.:1.000
>  Median :2.000
>  Mean   :2.923
>  3rd Qu.:4.000
>  Max.   :8.000
> >
>
> I am using the latest version of *R-3.2.4 on Windows*, however, this error
> is being generated in the previous version too,
>
> Hope this reporting will get serious attention in debugging.
>
> With best regards,
>
> Dr. A.K. Singh
> Head, Department of Agril. Statistics
> Indira Gandhi Krishi Vishwavidyalaya, Raipur
> Chhattisgarh, India, PIN-492012
> Mobile: +919752620740
> Email: akhileshsingh.igkv at gmail.com
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Adrian Dusa
University of Bucharest
Romanian Social Data Archive
Soseaua Panduri nr.90
050663 Bucharest sector 5
Romania

	[[alternative HTML version deleted]]



More information about the R-help mailing list