Hello, I'm using range do define boundaries for a linear model, so the line I graph is only graphed for the range of data. There are NAs in the data, but I dont remember this being a problem before. I typed na.action=na.omit anyway, which has usually solved any NA issues in the past. Any idea why R cant do vector functions for these data? Solution? Thanks, Colin Wahl M.S. Biology candidate Western Washington University fit<-lm(sandcomb ~ CCEC25) z<-predict(fit, data.frame(CCEC25=range(CCEC25))) lines(range(CCEC25), z, lty=2, lwd=0.75, col="grey51")> is.vector(CCEC25)[1] TRUE> is.numeric(CCEC25)[1] TRUE> range(CCEC25)[1] NA NA> CCEC25[1] 375.8 8769.0 NA 4197.0 NA 36880.0 4167.0 13100.0 3694.0 [10] 51420.0 30660.0 30850.0 4076.0 NA 59450.0 16050.0 NA 65480.0 [19] 2101.0 16390.0 5968.0 11330.0 9112.0 8326.0> sessionInfo()R version 2.14.1 (2011-12-22) Platform: i386-apple-darwin9.8.0/i386 (32-bit) locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] grid_2.14.1 lattice_0.20-0 lme4_0.999375-42 Matrix_1.0-2 [5] nlme_3.1-102 stats4_2.14.1 tools_2.14.1
Hi Colin,
You should always check the help for your function:
?range says:
     range(..., na.rm = FALSE)
Arguments:
     ...: any ?numeric? or character objects.
   na.rm: logical, indicating if ?NA?'s should be omitted.
So for example:> x <- c(1, 2, NA, 3)
> range(x)
[1] NA NA> range(x, na.rm=TRUE)
[1] 1 3
Sarah
On Wed, Feb 1, 2012 at 7:48 PM, Colin Wahl <biowahl at gmail.com>
wrote:> Hello,
> I'm using range do define boundaries for a linear model, so the line I
> graph is only graphed for the range of data. There are NAs in the
> data, but I dont remember this being a problem before. I typed
> na.action=na.omit anyway, which has usually solved any NA issues in
> the past. Any idea why R cant do vector functions for these data?
> Solution?
>
> Thanks,
> Colin Wahl
> M.S. Biology candidate
> Western Washington University
>
> fit<-lm(sandcomb ~ CCEC25)
> z<-predict(fit, data.frame(CCEC25=range(CCEC25)))
> lines(range(CCEC25), z, lty=2, lwd=0.75, col="grey51")
>
>
>> is.vector(CCEC25)
> [1] TRUE
>
>> is.numeric(CCEC25)
> [1] TRUE
>
>> range(CCEC25)
> [1] NA NA
>
>> CCEC25
> ?[1] ? 375.8 ?8769.0 ? ? ?NA ?4197.0 ? ? ?NA 36880.0 ?4167.0 13100.0
?3694.0
> [10] 51420.0 30660.0 30850.0 ?4076.0 ? ? ?NA 59450.0 16050.0 ? ? ?NA
65480.0
> [19] ?2101.0 16390.0 ?5968.0 11330.0 ?9112.0 ?8326.0
>
>> sessionInfo()
> R version 2.14.1 (2011-12-22)
> Platform: i386-apple-darwin9.8.0/i386 (32-bit)
>
> locale:
> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>
> attached base packages:
> [1] stats ? ? graphics ?grDevices utils ? ? datasets ?methods ? base
>
> loaded via a namespace (and not attached):
> [1] grid_2.14.1 ? ? ?lattice_0.20-0 ? lme4_0.999375-42 Matrix_1.0-2
> [5] nlme_3.1-102 ? ? stats4_2.14.1 ? ?tools_2.14.1
>
-- 
Sarah Goslee
http://www.functionaldiversity.org
range() is not affected by by options("na.action").  Use
the argument na.rm=TRUE.  For plotting purposes finite=TRUE
is nice, as it skips +-Inf as well.
  > range(c(NA, 1, 2, Inf))
  [1] NA NA
  > range(c(NA, 1, 2, Inf), na.rm=TRUE)
  [1]   1 Inf
  > range(c(NA, 1, 2, Inf), finite=TRUE)
  [1] 1 2
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com 
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at
r-project.org] On Behalf Of Colin Wahl
> Sent: Wednesday, February 01, 2012 4:48 PM
> To: r-help at r-project.org
> Subject: [R] Problem with range()
> 
> Hello,
> I'm using range do define boundaries for a linear model, so the line I
> graph is only graphed for the range of data. There are NAs in the
> data, but I dont remember this being a problem before. I typed
> na.action=na.omit anyway, which has usually solved any NA issues in
> the past. Any idea why R cant do vector functions for these data?
> Solution?
> 
> Thanks,
> Colin Wahl
> M.S. Biology candidate
> Western Washington University
> 
> fit<-lm(sandcomb ~ CCEC25)
> z<-predict(fit, data.frame(CCEC25=range(CCEC25)))
> lines(range(CCEC25), z, lty=2, lwd=0.75, col="grey51")
> 
> 
> > is.vector(CCEC25)
> [1] TRUE
> 
> > is.numeric(CCEC25)
> [1] TRUE
> 
> > range(CCEC25)
> [1] NA NA
> 
> > CCEC25
>  [1]   375.8  8769.0      NA  4197.0      NA 36880.0  4167.0 13100.0 
3694.0
> [10] 51420.0 30660.0 30850.0  4076.0      NA 59450.0 16050.0      NA
65480.0
> [19]  2101.0 16390.0  5968.0 11330.0  9112.0  8326.0
> 
> > sessionInfo()
> R version 2.14.1 (2011-12-22)
> Platform: i386-apple-darwin9.8.0/i386 (32-bit)
> 
> locale:
> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
> 
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
> 
> loaded via a namespace (and not attached):
> [1] grid_2.14.1      lattice_0.20-0   lme4_0.999375-42 Matrix_1.0-2
> [5] nlme_3.1-102     stats4_2.14.1    tools_2.14.1
> 
> ______________________________________________
> R-help at r-project.org 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.