Dropping all occurences of a factor does not drop that level. This actually
turns out to be much more useful than it first might appear, but if you
really need to get around it, it can be done.

Look at this toy example:

R> x = factor(c("A","B","C","A","B","C","C"))
R> x
[1] A B C A B C C
Levels: A B C

R> x[x != "C"]
[1] A B A B
Levels: A B C

R> y = factor(1:10)
R> y
[1] 1  2  3  4  5  6  7  8  9  10
Levels: 1 2 3 4 5 6 7 8 9 10

R> y[y != 5]
[1] 1  2  3  4  6  7  8  9  10
Levels: 1 2 3 4 5 6 7 8 9 10

If you really need the level change, search the history of this list for
mentions of "recode" (it comes up quite frequently)

Michael

On Thu, Sep 1, 2011 at 2:59 PM, Dan Abner <dan.abner99@gmail.com> wrote:

> Hello everyone,
>
> I have the following factor:
>
> levels(pp_income)
>  [1] ""       "1"      "2"      "3"      "4"      "5"      "6"      "7"
>  [9] "8"      "9"      "Renter"
>
> I want to subset so that only values 1:9 are included. I have the
> following:
>
> > income<-pp_income[pp_income %in% c(1:9)]
> >
> > levels(income)
>  [1] ""       "1"      "2"      "3"      "4"      "5"      "6"      "7"
>  [9] "8"      "9"      "Renter"
>
> Why is this not working and can someone please suggest a solution?
>
> Thank you!
>
> Dan
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>

	[[alternative HTML version deleted]]

