On Fri, 5 Dec 2008, jim holtman wrote:
df <- data.frame(factor(c("a","a","c","b","b")), c(4,5,6,7,8),
c(9,1,2,3,4))
names(df) <- c("X1","X2","X3")
my.sub <- subset(df, X1 == "a" | X1 == "b")
levels(my.sub$X1)
my.sub$X1 <- factor(my.sub$X1)
I find
my.sub$X1 <- my.sub$X1[drop=TRUE]
a lot more self-explanatory. See ?"[.factor". However, if you find
yourself wanting to do this, ask why you have a factor (rather than a
character vector) in the first place.
On Fri, Dec 5, 2008 at 7:50 AM, Antje <niederlein-rstat at yahoo.de> wrote:
Hello,
I hope this question is not too stupid. I would like to know how to
update
levels after subsetting data from a data.frame.
df <- data.frame(factor(c("a","a","c","b","b")), c(4,5,6,7,8),
c(9,1,2,3,4))
names(df) <- c("X1","X2","X3")
my.sub <- subset(df, X1 == "a" | X1 == "b")
levels(my.sub$X1)
# still gives me "a","b","c", though the subset does not contain entries
with "c" anymore
I guess, the solution is rather simple, but I cannot find it.
Antje