[R] Re :argument is not numeric or logical
David Winsemius
dwinsemius at comcast.net
Sun May 2 22:25:29 CEST 2010
On May 2, 2010, at 3:27 PM, Mohan L wrote:
>
>
> >as.numeric(assame$Login) //convert to numerics
>
>
> NOOOOooooooo. You did not do what what I suggested earlier. Do not
> reach for your keyboard in the R console until you have read the FAQ
> section regarding converting factors to numeric. If you don't want
> to read the FAQ
>
> Hi David,
> Now I understand the trick :
>
> as.numeric(as.character(Login))
>
>
> > avglog <-
> with(assame,tapply(as.numeric(as.character(Login)),stdate,mean))> >
> avglog
> 01/11/09 00:00 02/11/09 00:00 04/11/09 00:00 05/11/09 00:00 06/11/09
> 00:00
> 22.04866 16.65358 15.84970 16.58600
> 16.20743
> 07/11/09 00:00
> 18.52379
>
> But still it will not work :
>
> > avglog <- with(assame,tapply(as.numeric(levels(Login)
> [as.integer(Login)]),stdate,mean))
Sometimes using with(. , .) does not work when the variable name is
buried deep in a nested set of functions. Furthermore mean needs an
na.rm argument if, as I suspect, you now have some some NA's in the
new variable. What happens when you:
assame$Login.num <- as.numeric(as.character(assame$Login))
avglog <- with(assame, tapply(Login2, stdate, mean, na.rm=TRUE) )
avglog
Untested of course since we STILL have no reproducible example. Had
you used dput on head(sample, 40) or head(sample2, 40) or head(assame,
40) we would not still be here guessing at what you really are working
with.
--
David.
> Error in tapply(as.numeric(levels(Login)[as.integer(Login)]),
> stdate, :
> arguments must have same length
>
>
> Thanks & Rg
> Mohan L
>
>
>
>
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list