[R] min() return factor class values
Benilton Carvalho
bcarvalh at jhsph.edu
Tue Jan 9 18:09:52 CET 2007
Milton,
have you looked at the structure of your data.frame?
str(especies.aicc)
Are you sure especies.aicc is defined as numeric?
b
On Jan 9, 2007, at 10:51 AM, Milton Cezar Ribeiro wrote:
> Dear Peter,
>
> I tryed something like
>
>> head(especies.aicc)
> especie aicc
> 1 Attila.rufus 17.15934
> 2 Attila.rufus 11.41371
> 3 Attila.rufus 11.41371
> 4 Attila.rufus 19.55998
> 5 Attila.rufus 17.23780
> 6 Attila.rufus 19.22545
>
>> especies.min<-aggregate.data.frame(especies.aicc,list
> (Especie=especies.aicc$especie),max)
>
> But it works fine only for "mean" FUN and not for "min" and
> "max". Also also, when I use "mean" I got the following warnings:
>
>> especies.min<-aggregate.data.frame(especies.aicc,list
> (Especie=especies.aicc$especie),mean)
>
> Warning messages:
> 1: argument is not numeric or logical: returning NA in: mean.default
> (X[[1]], ...)
> 2: argument is not numeric or logical: returning NA in: mean.default
> (X[[2]], ...)
>
> In fact I need only min() and max().
>
> Miltinho
> -----------------
>
> Peter Dalgaard <P.Dalgaard at biostat.ku.dk> escreveu:
> Milton Cezar Ribeiro wrote:
>> Hi R-friends
>>
>> I don´t know why the "min()" function below return the min value
>> as factor. When i force the aicc.min using a as.numeric()
>> function, it return a factor index (1,2,..) and not min value as I
>> want. By the way, I included a sessionInfo() at the end of this e-
>> mail.
>>
> min() is not doing anything out of the ordinary, but cbind'ing it with
> the character vector sp coerces it to character and rbind'ing to a
> data
> frame turns character vectors into factors...
>
> The whole thing looks like it could be a straightforward
> application of
> aggregate().
>>
>> In fact I had the same problem (values as factor) on other part of
>> my script and I noticed that it occour when I use "cbind()". It is
>> real?
>>
>> Any idea?
>>
>> Kind regards,
>>
>> Miltinho
>>
>>> especies.aicc.min<-data.frame()
>>
>>> for (sp in levels(especies.aicc$especie))
>>>
>> + {
>> + sele<-subset(especies.aicc,especie==sp)
>> + especies.aicc.min<-rbind(especies.aicc.min,cbind(sp,aicc.min=min
>> (sele$aicc)))
>> + }
>>
>>> especies.aicc.min
>>>
>> sp aicc.min
>> 1 Attila.rufus 6.7387056413613
>> 2 Automolus.leucophthalmus 125.791300522824
>>
>>> class(especies.aicc.min$aicc.min)
>>>
>> [1] "factor"
>>
>> -----------
>>> sessionInfo()
>> R version 2.4.0 (2006-10-03)
>> i386-pc-mingw32
>> locale:
>> LC_COLLATE=English_Jamaica.1252;LC_CTYPE=English_Jamaica.
>> 1252;LC_MONETARY=English_Jamaica.
>> 1252;LC_NUMERIC=C;LC_TIME=English_Jamaica.1252
>> attached base packages:
>> [1] "methods" "stats" "graphics" "grDevices" "utils" "datasets"
>> "base"
>>
>>
>>
>
>
> --
> O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
> c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
> (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
> ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
>
>
>
>
> __________________________________________________
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> 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.
More information about the R-help
mailing list