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 [ucfa...@gmail.com] Sent: Friday, December 06, 2013 11:09 AM To: Dixon, Philip M [STAT] Cc: Mitchell, Kendra; r-sig-ecology@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] <pdi...@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@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-ecology -- Gavin Simpson, PhD _______________________________________________ R-sig-ecology mailing list R-sig-ecology@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-ecology