Nicolas Gutierrez
2011-Feb-08 21:54 UTC
[R] delete a row in dataframe w/o changing indexing
Hi All, I'm trying to delete a row from my dataframe "pop" without changing the indexing (column 0) as follows: >pop id birth size xloc yloc weight energy gonad consumed 1 1 36 13 34 43 0 18 0 0 2 2 36 10 39 38 0 18 0 0 3 3 36 10 37 35 0 18 0 0 4 4 36 10 31 25 0 18 0 0 5 5 36 17 34 43 0 18 0 0 By using: >i=3 >pop=pop[-pop$id[i],] id birth size xloc yloc weight energy gonad consumed 1 1 36 13 34 43 0 18 0 0 2 2 36 10 39 38 0 18 0 0 4 4 36 10 31 25 0 18 0 0 5 5 36 17 34 43 0 18 0 0 But what I really need is: id birth size xloc yloc weight energy gonad consumed 1 1 36 13 34 43 0 18 0 0 2 2 36 10 39 38 0 18 0 0 3 4 36 10 31 25 0 18 0 0 4 5 36 17 34 43 0 18 0 0 *note the first column. Any ideas? THANKS!!!! Nico
Nicolas - I don't think it can be done automatically, but you can use> row.names(pop) = 1:nrow(pop)after deleting the column(s) to restore consecutive numbers for the row names. - Phil Spector Statistical Computing Facility Department of Statistics UC Berkeley spector at stat.berkeley.edu On Tue, 8 Feb 2011, Nicolas Gutierrez wrote:> Hi All, > > I'm trying to delete a row from my dataframe "pop" without changing the > indexing (column 0) as follows: > >> pop > > id birth size xloc yloc weight energy gonad consumed > 1 1 36 13 34 43 0 18 0 0 > 2 2 36 10 39 38 0 18 0 0 > 3 3 36 10 37 35 0 18 0 0 > 4 4 36 10 31 25 0 18 0 0 > 5 5 36 17 34 43 0 18 0 0 > > By using: > >> i=3 >> pop=pop[-pop$id[i],] > > id birth size xloc yloc weight energy gonad consumed > 1 1 36 13 34 43 0 18 0 0 > 2 2 36 10 39 38 0 18 0 0 > 4 4 36 10 31 25 0 18 0 0 > 5 5 36 17 34 43 0 18 0 0 > > But what I really need is: > > id birth size xloc yloc weight energy gonad consumed > 1 1 36 13 34 43 0 18 0 0 > 2 2 36 10 39 38 0 18 0 0 > 3 4 36 10 31 25 0 18 0 0 > 4 5 36 17 34 43 0 18 0 0 > > *note the first column. > > Any ideas? > > THANKS!!!! > > Nico > > ______________________________________________ > R-help at 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. >
On Feb 8, 2011, at 4:54 PM, Nicolas Gutierrez wrote:> Hi All, > > I'm trying to delete a row from my dataframe "pop" without changing > the indexing (column 0) as follows: > > >pop > > id birth size xloc yloc weight energy gonad consumed > 1 1 36 13 34 43 0 18 0 0 > 2 2 36 10 39 38 0 18 0 0 > 3 3 36 10 37 35 0 18 0 0 > 4 4 36 10 31 25 0 18 0 0 > 5 5 36 17 34 43 0 18 0 0 > > By using: > > >i=3 > >pop=pop[-pop$id[i],] > > id birth size xloc yloc weight energy gonad consumed > 1 1 36 13 34 43 0 18 0 0 > 2 2 36 10 39 38 0 18 0 0 > 4 4 36 10 31 25 0 18 0 0 > 5 5 36 17 34 43 0 18 0 0 > > But what I really need is:Then do this: row.names(pop) <- NULL> > id birth size xloc yloc weight energy gonad consumed > 1 1 36 13 34 43 0 18 0 0 > 2 2 36 10 39 38 0 18 0 0 > 3 4 36 10 31 25 0 18 0 0 > 4 5 36 17 34 43 0 18 0 0 > > *note the first column. > > Any ideas? > > THANKS!!!! >David Winsemius, MD West Hartford, CT