[R-sig-eco] NA error in envfit

Mitchell, Kendra kendrami at mail.ubc.ca
Fri Dec 6 20:35:47 CET 2013


My offending variable was correctly imported as a factor, but since I was subsetting the data to look only at one zone at a time it was a factor with only one level


--
Kendra Maas Mitchell, Ph.D.
Post Doctoral Research Fellow
University of British Columbia
604-822-5646

________________________________________
From: Gavin Simpson [ucfagls at gmail.com]
Sent: Friday, December 06, 2013 11:09 AM
To: Dixon, Philip M [STAT]
Cc: Mitchell, Kendra; r-sig-ecology at r-project.org
Subject: Re: [R-sig-eco] NA error in envfit

Phillip,

You approach to using factors misses an important consideration; the
class that was observed in the full dataset should not disappear just
because you subsetted the data in some manner. Also, `droplevels()` is
a useful function to call on a factor or data frame if subsetting
produces levels with zero observations and if that information is not
made use on in whatever computations follow next.

G

On 5 December 2013 10:42, Dixon, Philip M [STAT] <pdixon at iastate.edu> wrote:
> Kendra,
>
> I wonder if the problem is a factor level with no observations.  One of the frustrating things about factors (class variables) in R is that the list of levels is stored separately from the data.  This can cause all sorts of problems if you create the factor, then subset the data, and the subset is missing one or more levels of the factor.  You are subsetting your data, so this may be the source of the problem.
>
> My working philosophy is to keep variables as character strings or numbers until just before I need the factors.  That avoids any issues with extraneous levels.  That means reading data sets (.txt or .csv files) with as.is=TRUE to avoid default creation of factors.  relevel() may recreate the list of levels.  I usually use factor(as.character(variable)) to flip a factor to a vector of character strings then back to a factor with the correct set of levels.
>
> Best wishes,
> Philip Dixon
>
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-ecology mailing list
> R-sig-ecology at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-ecology



--
Gavin Simpson, PhD



More information about the R-sig-ecology mailing list