I have a large data frame 48:2185 with different numbers. I would like to add only one row at the very top of my data frame with 0's or NA's. I don't know which approach to use. Should i create 2 different data frames and merge them? Ive also tried the rbind command with no luck. I would appreciate some help to achieve what I'm trying to create. Thanks!
Try this:> x <- data.frame(a=1:10, b=1:10) > xa b 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10> # add a row at the top > x <- x[c(1,seq(nrow(x))),] > xa b 1 1 1 1.1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10> > # fill in with the values you want. > x[1,] <- NAOn Mon, May 17, 2010 at 11:28 AM, <ecvetano@uwaterloo.ca> wrote:> I have a large data frame 48:2185 with different numbers. > I would like to add only one row at the very top of my data frame with 0's > or NA's. > I don't know which approach to use. Should i create 2 different data frames > and merge them? Ive also tried the rbind command with no luck. I would > appreciate some help to achieve what I'm trying to create. > Thanks! > > ______________________________________________ > 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<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. >-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? [[alternative HTML version deleted]]
Does this work? data(cars) cars2 <- cars cars2[2:nrow(cars)+1,] <- cars2[1:nrow(cars),] cars2[1,] <- NA Nikhil Kaza Asst. Professor, City and Regional Planning University of North Carolina nikhil.list at gmail.com On May 17, 2010, at 11:28 AM, ecvetano at uwaterloo.ca wrote:> I have a large data frame 48:2185 with different numbers. > I would like to add only one row at the very top of my data frame > with 0's or NA's. > I don't know which approach to use. Should i create 2 different data > frames and merge them? Ive also tried the rbind command with no > luck. I would appreciate some help to achieve what I'm trying to > create. > Thanks! > > ______________________________________________ > 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 2010-05-17 9:28, ecvetano at uwaterloo.ca wrote:> I have a large data frame 48:2185 with different numbers. > I would like to add only one row at the very top of my data frame with > 0's or NA's. > I don't know which approach to use. Should i create 2 different data > frames and merge them? Ive also tried the rbind command with no luck. I > would appreciate some help to achieve what I'm trying to create. > Thanks!Say your dataframe is named 'dat'. x <- rep(NA, ncol(dat)) dat <- rbind(x, dat) will insert a row of NA's. x <- rep(0, ncol(dat)) dat <- rbind(x, dat) will insert a row of 0s. If any of your variables are not numeric or character, you'll get a warning. -Peter Ehlers
My mistake. cars2 should be initalized to have all the extra rows. cars2 <- data.frame(matrix(rep(NA, prod(dim(cars)) + ncol(cars)), nrow(cars)+1)) cars2[2:nrow(cars2),] <- cars In this way, insertion at any row is possible. Nikhil On May 17, 2010, at 2:46 PM, Peter Ehlers wrote:>>>> data(cars) >>>> cars2 <- cars >>>> cars2[2:nrow(cars)+1,] <- cars2[1:nrow(cars),] >>>> cars2[1,] <- NA[[alternative HTML version deleted]]