[R] mean on a table

Peter Dalgaard p.dalgaard at biostat.ku.dk
Fri Jan 12 02:35:01 CET 2007


Farrel Buchinsky wrote:
> Please suggest areas that I should troubleshoot. This command used to
> give me an answer and now it gives me an error.
>   
>> mean(no.genot,na.rm=T)
>>     
> Error in tapply(x, by, sum, na.rm = TRUE) :
>         arguments must have same length
> I tried removing the na.rm=T)
>   
>> mean(no.genot)
>>     
> Error in `names<-.default`(`*tmp*`, value = c("by.1", "by.0")) :
>         attempt to set an attribute on NULL
>
> The structure of my table is as follows.
>   
>> str(no.genot)
>>     
>  table [, 1:467] 0.000 0.261 0.315 0.274 0.349 ...
>  - attr(*, "dimnames")=List of 1
>   ..$ : chr [1:467] "NC" "RP138" "RP139" "RP140" ...
>
> Strangely enough
>   
>> mean(no.genot[1:467])
>>     
> [1] 0.2426167
>
> That seems to work.
>   
Have you perhaps a stray mean() or mean.table() function lying around?

Doesn't look like it would normally happen:

 > tb <- as.table(as.double(1:10))
 > str(tb)
 table [, 1:10] 1 2 3 4 5 6 7 8 9 10
 - attr(*, "dimnames")=List of 1
  ..$ : chr [1:10] "A" "B" "C" "D" ...
 > mean(tb)
[1] 5.5



More information about the R-help mailing list