Take a look on droplevels function (R >= 2.12)

On Mon, Nov 29, 2010 at 5:01 PM, Felipe Carrillo
<mazatlanmexico@yahoo.com>wrote:

> Hi all:
> I am having trouble dropping levels, got a few hints online without
> success.
> Please consider the dataset below:
>  I was under the inpression that subset(......drop=TRUE) would work but it
> doesn't
>
> library(ggplot2)
>     library(hmisc)
>
> x <- structure(list(first = c(38.2086, 43.1768, 43.146, 41.8044, 42.4232,
> 46.3646, 38.0813, 40.0745, 40.4889, 38.6246, 40.2826, 41.6056,
> 34.5353, 40.0768), second = c(43.3295, 42.4326, 38.8994, 37.0894,
> 42.3218, 46.1726, 39.1206, 41.2072, 42.4874, 40.2657, 38.7766,
> 40.8822, 42.0165, 49.2055), third = c(42.24, 42.992, 37.7419,
> 42.3448, 41.9131, 44.385, 42.7811, 44.1963, 40.8088, 43.9634,
> 38.7079, 38.0791, 44.3136, 39.5333)), .Names = c("first", "second",
> "third"), class = "data.frame", row.names = c(NA, -14L))
>
>  head(x);str(x)
> xmelt <- melt(x)
>  names(xmelt) <- c("year","fatPerc")
>
>   # Year variable is a factor with three levels
>  # Subset to plot only 'first' year
> firstyear <- subset(xmelt,year=='first');str(firstyear)
> # Plot showing three levels still after I made the subset
>   ggplot(firstyear,aes(year,fatPerc)) + geom_boxplot() + geom_jitter()
>
> # Try to drop the levels but dropUnusedLevels() doesn't seem to work here
>   dropUnusedLevels()
> ggplot(firstyear,aes(year,fatPerc)) + geom_boxplot() + geom_jitter()
>
> # code below also should drop levels but it doesn't
> #data.frame(lapply(firstyear, function(x) if (is.factor(x)){ factor(x)}
> else{x}))
> str(firstyear)
>
> Felipe D. Carrillo
> Supervisory Fishery Biologist
> Department of the Interior
> US Fish & Wildlife Service
> California, USA
>
>
>
>
> ______________________________________________
> R-help@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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O

	[[alternative HTML version deleted]]

