[R] Tables package - remove NAs and NaN

Liviu Andronic landronimirc at gmail.com
Tue Apr 23 09:53:16 CEST 2013


Dear David,
I'm having the exact same issue as Santosh, and looking at the fix
that you've provided it seems to me that results are slightly
different.


On Tue, Apr 23, 2013 at 4:40 AM, David Winsemius <dwinsemius at comcast.net> wrote:
>>             b               c
>> p a   N  mean  sd    mean  sd
>> A 1   10 16.30 2.497 52.30  9.358
>>   2    0   NaN    NA   NaN     NA
>>   3   10 15.60 2.716 60.30  8.001
>> B 1    0   NaN    NA   NaN     NA
>>   2   10 15.40 2.366 57.70 10.414
>>   3    0   NaN    NA   NaN     NA
>>   All 30 15.77 2.473 56.77  9.601
>>
>> How do I remove the rows having N=0 ?
>> I would like the resulting table look like..
>>             b               c
>> p a   N  mean  sd    mean  sd
>> A 1   10 16.30 2.497 52.30  9.358
>>     3   10 15.60 2.716 60.30  8.001
>> B  2   10 15.40 2.366 57.70 10.414
>>   All 30 15.77 2.473 56.77  9.601
>
> Here's a bit of a hack:
>
> tabular( (`p a`=interaction(p,a, drop=TRUE, sep=" ")) ~ (N = 1) + (b + c)*
>     (mean+sd),data=q)
>
>         b           c
>  p a N  mean sd     mean sd
>  A 1 10 12.8 0.7888 52.1 8.020
>  B 2 10 16.3 3.0569 54.9 8.711
>  A 3 10 14.6 3.7771 56.5 6.980
>
What Santosh and I would expect to get from the above is:
[..]
A 1   10 16.30 2.497 52.30  9.358
    3   10 15.60 2.716 60.30  8.001
[..]

but what we get with your approach is:
[..]
A 1 10 12.8 0.7888 52.1 8.020
B 2 10 16.3 3.0569 54.9 8.711
[..]

Although your approach makes things much better, can the original
ordering be retained?


> I have been rather hoping that Duncan Murdoch would have noticed the earlier thread, but maybe he can comment on whether there is a more direct route/
>
I hope so, too. Regards,
Liviu



More information about the R-help mailing list