I think that only works because the rows are ordered and have no names: try something more like this:
df1 <- data.frame(1:20, 21:40, 31:50) rownames(df1) <- sample(letters, 20) toDrop <- sample(rownames(df1), 5) df1[ !(rownames(df1) %in% toDrop), ] or alternatively toKeep <- sample(rownames(df1), 5) df1[rownames(df1) %in% toKeep, ] Michael On Sun, Oct 23, 2011 at 9:30 AM, B77S <[email protected]> wrote: > here is one way > > df1 <- data.frame(c(1:20), c(21:40), c(31:50)) > list1 <- c(3, 6, 20) > df2 <- df1[-list1,] > > > > > > hanansela wrote: >> >> Hello >> I have a list of row names that needs to be deleted from a data frame. How >> do i do that? >> one of the columns in the data frame contains the row names as numbers. I >> can also select by this column (will it be easier?). >> Thank you >> > > > -- > View this message in context: > http://r.789695.n4.nabble.com/how-to-delete-rows-by-a-list-of-rownames-tp3930206p3930273.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > [email protected] 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. > ______________________________________________ [email protected] 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.

