Hi, Not sure if the OP is concerned about this: Using David's data str(DATA) #'data.frame': 15 obs. of 2 variables: # $ UnitName_1: Factor w/ 3 levels "lake","pond",..: 3 3 1 3 2 2 3 1 2 3 ... #$ Var : int 95 97 12 47 54 86 14 92 88 8 ... toBeRemoved1 <- which(DATA$UnitName_1=="lake") DATA <- DATA[-toBeRemoved1,] str(DATA) #'data.frame': 12 obs. of 2 variables: # $ UnitName_1: Factor w/ 3 levels "lake","pond",..: 3 3 3 2 2 3 2 3 2 3 ... # $ Var : int 95 97 47 54 86 14 88 8 99 35 ... levels(DATA[,1]) #[1] "lake" "pond" "river" ############ DATA[,1]<- factor(DATA[,1]) str(DATA) #'data.frame': 12 obs. of 2 variables: # $ UnitName_1: Factor w/ 2 levels "pond","river": 2 2 2 1 1 2 1 2 1 2 ... # $ Var : int 95 97 47 54 86 14 88 8 99 35 ... levels(DATA[,1]) #[1] "pond" "river"
A.K. ----- Original Message ----- From: David Carlson <dcarl...@tamu.edu> To: 'Shane Carey' <careys...@gmail.com>; r-help@r-project.org Cc: Sent: Thursday, June 13, 2013 10:00 AM Subject: Re: [R] Remove levels Works fine for me. Too bad you didn't include actual data: > set.seed(42) > DATA <- data.frame(UnitName_1=factor(sample(c("lake", "pond", "river"), + 15, replace=TRUE)), Var=sample.int(100, 15)) > DATA UnitName_1 Var 1 river 95 2 river 97 3 lake 12 4 river 47 5 pond 54 6 pond 86 7 river 14 8 lake 92 9 pond 88 10 river 8 11 pond 99 12 river 35 13 river 80 14 lake 39 15 pond 72 > toBeRemoved1 <- which(DATA$UnitName_1=="lake") > toBeRemoved1 [1] 3 8 14 > DATA <- DATA[-toBeRemoved1,] > DATA UnitName_1 Var 1 river 95 2 river 97 4 river 47 5 pond 54 6 pond 86 7 river 14 9 pond 88 10 river 8 11 pond 99 12 river 35 13 river 80 15 pond 72 ------------------------------------- David L Carlson Associate Professor of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Shane Carey Sent: Thursday, June 13, 2013 7:03 AM To: r-help@r-project.org Subject: [R] Remove levels I have a dataframe consisting of factors in one column. Im trying to remove certain levels using the following code: toBeRemoved1<-which(DATA$UnitName_1=="lake") DATA<-DATA[-toBeRemoved1,] However it will not remove the level "lake" In the past this worked for me, but its not working now. Any help appreciated. Thanks -- Shane [[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. ______________________________________________ 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. ______________________________________________ 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.