Hi all, Can anyone suggest me how to insert rows in between data frames and also keep the ordering of row numbers correct? Estimate Std. Error t value Pr(>|t|) recmeanC2 9.275880e-17 6.322780e-17 1.467057e+00 0.14349903 recmeanC3 1.283534e-17 2.080644e-17 6.168929e-01 0.53781390 recmeanC4 - 3.079466e-17 2.565499e-17 -1.200338e+00 0.23103743 i1 5.000000e-01 1.036197e-17 4.825338e+16 0.00000000 i2 -5.630739e-18 1.638267e-17 -3.437010e-01 0.73133282 i3 4.291387e-18 1.207522e-17 3.553879e-01 0.72257050 i4 1.472662e-17 1.423051e-17 1.034863e+00 0.30163897 i5 5.000000e-01 1.003323e-17 4.983441e+16 0.00000000 i6 5.147966e-18 1.569095e-17 3.280850e-01 0.74309614 i7 1.096044e-17 1.555829e-17 7.044760e-01 0.48173041 i8 -1.166290e-18 1.287370e-17 -9.059482e-02 0.92788026 i9 1.627371e-17 1.540567e-17 1.056345e+00 0.29173427 i10 4.001692e-18 1.365740e-17 2.930053e-01 0.76973827 i12 -1.052843e-17 1.324484e-17 -7.949081e-01 0.42735000 i13 2.571236e-17 1.357336e-17 1.894325e+00 0.05922715 This is my coeffcients table.Here I want ti inser t rows with value NA in all columns in between and after the last row.After last row I can insert using rbind.But how will I enter row in between so that the order also doesn’t change. I need this to be generated :--- Estimate Std. Error t value Pr(>|t|) recmeanC2 9.275880e-17 6.322780e-17 1.467057e+00 0.14349903 recmeanC3 1.283534e-17 2.080644e-17 6.168929e-01 0.53781390 recmeanC4 - 3.079466e-17 2.565499e-17 -1.200338e+00 0.23103743 i1 5.000000e-01 1.036197e-17 4.825338e+16 0.00000000 i2 -5.630739e-18 1.638267e-17 -3.437010e-01 0.73133282 i3 4.291387e-18 1.207522e-17 3.553879e-01 0.72257050 i4 1.472662e-17 1.423051e-17 1.034863e+00 0.30163897 i5 5.000000e-01 1.003323e-17 4.983441e+16 0.00000000 i6 5.147966e-18 1.569095e-17 3.280850e-01 0.74309614 i7 1.096044e-17 1.555829e-17 7.044760e-01 0.48173041 i8 -1.166290e-18 1.287370e-17 -9.059482e-02 0.92788026 i9 1.627371e-17 1.540567e-17 1.056345e+00 0.29173427 i10 4.001692e-18 1.365740e-17 2.930053e-01 0.76973827 i11 NA NA NA NA i12 -1.052843e-17 1.324484e-17 -7.949081e-01 0.42735000 i13 2.571236e-17 1.357336e-17 1.894325e+00 0.05922715 i14 NA NA NA NA i15 NA NA NA NA rbind after row number i10 will change row number i12 to have NA,Na,NA.Na values. -- Thanks in advance Moumita [[alternative HTML version deleted]]
There may be a much cleaner and better way but just split the data.frame into two parts, create the NA rows as another data.frame and use rbind to put them back together again. Example #======================================================================(mydata <- data.frame(aa=letters[1:5], bb=1:5)) topdata <- mydata[1:3,] bottomdata <- mydata[4:5,] nadata <- data.frame(aa=rep(NA,2),bb=rep(NA,2)) d1 <- rbind(topdata,nadata) d2 <- rbind(d1, bottomdata) #======================================================================--- On Thu, 8/20/09, Moumita Das <das.moumita.online at gmail.com> wrote:> From: Moumita Das <das.moumita.online at gmail.com> > Subject: [R] Insert rows in between dataframes > To: r-help at r-project.org > Received: Thursday, August 20, 2009, 7:18 AM > Hi all, > > Can anyone suggest me how to insert rows in between data > frames and also > keep the ordering of row numbers correct? > > ? ? ? ? ? ? ? ? > ? ? ? ? ? > ???Estimate? ? ? ? ? > ???Std. Error? ? ? ? > ? ? t > value???Pr(>|t|) > > recmeanC2? ? ? ? ? ? ? > ? ? ? ? 9.275880e-17? ? > 6.322780e-17???1.467057e+00 > 0.14349903 > > recmeanC3? ? ? ? ? ? ? > ? ? ? ? > 1.283534e-17???2.080644e-17? ? > 6.168929e-01 > 0.53781390 > > recmeanC4 -? ? ? ? ? ? ? > ? ???3.079466e-17? ? > 2.565499e-17? -1.200338e+00 > 0.23103743 > > i1? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? ? ? 5.000000e-01 > 1.036197e-17???4.825338e+16 > 0.00000000 > > i2? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???-5.630739e-18 > 1.638267e-17? -3.437010e-01 > 0.73133282 > > i3? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???4.291387e-18 > 1.207522e-17???3.553879e-01 > 0.72257050 > > i4? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???1.472662e-17 > 1.423051e-17???1.034863e+00 > 0.30163897 > > i5? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ???5.000000e-01? ? > 1.003323e-17 > 4.983441e+16 > 0.00000000 > > i6? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ???5.147966e-18? > ???1.569095e-17 > 3.280850e-01 > 0.74309614 > > i7? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? > ???1.096044e-17???1.555829e-17 > 7.044760e-01 > 0.48173041 > > i8? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? -1.166290e-18? ? > 1.287370e-17 > -9.059482e-02 0.92788026 > > i9? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? > ???1.627371e-17???1.540567e-17 > 1.056345e+00 > 0.29173427 > > i10? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? > 4.001692e-18???1.365740e-17 > 2.930053e-01 > 0.76973827 > > i12? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? > -1.052843e-17???1.324484e-17 > -7.949081e-01 0.42735000 > > i13? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? > 2.571236e-17???1.357336e-17 > 1.894325e+00 > 0.05922715 > > This is my coeffcients table.Here? I want ti inser t > rows with value NA in > all columns in between and after? the last row.After > last? row I can insert > using rbind.But how will I enter row in between so that the > order also > doesn?t change. > > I need this to be generated :--- > > Estimate? ? ? ? ? > ???Std. Error? ? ? ? > ? ? t value???Pr(>|t|) > > recmeanC2? ? ? ? ? ? ? > ? ? ? ? 9.275880e-17? ? > 6.322780e-17???1.467057e+00 > 0.14349903 > > recmeanC3? ? ? ? ? ? ? > ? ? ? ? > 1.283534e-17???2.080644e-17? ? > 6.168929e-01 > 0.53781390 > > recmeanC4 -? ? ? ? ? ? ? > ? ???3.079466e-17? ? > 2.565499e-17? -1.200338e+00 > 0.23103743 > > i1? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? ? ? 5.000000e-01 > 1.036197e-17???4.825338e+16 > 0.00000000 > > i2? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???-5.630739e-18 > 1.638267e-17? -3.437010e-01 > 0.73133282 > > i3? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???4.291387e-18 > 1.207522e-17???3.553879e-01 > 0.72257050 > > i4? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???1.472662e-17 > 1.423051e-17???1.034863e+00 > 0.30163897 > > i5? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ???5.000000e-01? ? > 1.003323e-17 > 4.983441e+16 > 0.00000000 > > i6? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ???5.147966e-18? > ???1.569095e-17 > 3.280850e-01 > 0.74309614 > > i7? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? > ???1.096044e-17???1.555829e-17 > 7.044760e-01 > 0.48173041 > > i8? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? -1.166290e-18? ? > 1.287370e-17 > -9.059482e-02 0.92788026 > > i9? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? > ???1.627371e-17???1.540567e-17 > 1.056345e+00 > 0.29173427 > > > i10? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? > 4.001692e-18???1.365740e-17 > 2.930053e-01 > 0.76973827 > > i11? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? NA > NA? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? ? NA > NA > > i12? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? > -1.052843e-17???1.324484e-17 > -7.949081e-01 0.42735000 > > i13? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? > 2.571236e-17???1.357336e-17 > 1.894325e+00 > 0.05922715 > > i14? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???NA > NA? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? ? NA > NA > > > > i15? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ???NA > NA? ? ? ? ? ? ? ? > ? ? ? ? ? ? ? ? > ? ? ? ? ? NA > NA > > > > > > rbind after row number i10 will change row number > i12? to? have NA,Na,NA.Na > values. > > > -- > Thanks in advance > Moumita > > ??? [[alternative HTML version deleted]] > > > -----Inline Attachment Follows----- > > ______________________________________________ > 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. >__________________________________________________________________ Make your browsing faster, safer, and easier with the new Internet Explorer? 8. Optimize explorer/
Try this also: as.data.frame(t(sapply(append(split(mydata, row.names(mydata)), list(c('f', 6)), after = 2), as.matrix))) The after argument of append can be the line number where you want the new line. On Thu, Aug 20, 2009 at 8:18 AM, Moumita Das <das.moumita.online@gmail.com>wrote:> Hi all, > > Can anyone suggest me how to insert rows in between data frames and also > keep the ordering of row numbers correct? > > Estimate Std. Error t > value Pr(>|t|) > > recmeanC2 9.275880e-17 6.322780e-17 1.467057e+00 > 0.14349903 > > recmeanC3 1.283534e-17 2.080644e-17 6.168929e-01 > 0.53781390 > > recmeanC4 - 3.079466e-17 2.565499e-17 -1.200338e+00 > 0.23103743 > > i1 5.000000e-01 > 1.036197e-17 4.825338e+16 > 0.00000000 > > i2 -5.630739e-18 > 1.638267e-17 -3.437010e-01 > 0.73133282 > > i3 4.291387e-18 > 1.207522e-17 3.553879e-01 > 0.72257050 > > i4 1.472662e-17 > 1.423051e-17 1.034863e+00 > 0.30163897 > > i5 5.000000e-01 1.003323e-17 > 4.983441e+16 > 0.00000000 > > i6 5.147966e-18 1.569095e-17 > 3.280850e-01 > 0.74309614 > > i7 1.096044e-17 1.555829e-17 > 7.044760e-01 > 0.48173041 > > i8 -1.166290e-18 1.287370e-17 > -9.059482e-02 0.92788026 > > i9 1.627371e-17 1.540567e-17 > 1.056345e+00 > 0.29173427 > > i10 4.001692e-18 1.365740e-17 > 2.930053e-01 > 0.76973827 > > i12 -1.052843e-17 1.324484e-17 > -7.949081e-01 0.42735000 > > i13 2.571236e-17 1.357336e-17 > 1.894325e+00 > 0.05922715 > > This is my coeffcients table.Here I want ti inser t rows with value NA in > all columns in between and after the last row.After last row I can insert > using rbind.But how will I enter row in between so that the order also > doesn’t change. > > I need this to be generated :--- > > Estimate Std. Error t value Pr(>|t|) > > recmeanC2 9.275880e-17 6.322780e-17 1.467057e+00 > 0.14349903 > > recmeanC3 1.283534e-17 2.080644e-17 6.168929e-01 > 0.53781390 > > recmeanC4 - 3.079466e-17 2.565499e-17 -1.200338e+00 > 0.23103743 > > i1 5.000000e-01 > 1.036197e-17 4.825338e+16 > 0.00000000 > > i2 -5.630739e-18 > 1.638267e-17 -3.437010e-01 > 0.73133282 > > i3 4.291387e-18 > 1.207522e-17 3.553879e-01 > 0.72257050 > > i4 1.472662e-17 > 1.423051e-17 1.034863e+00 > 0.30163897 > > i5 5.000000e-01 1.003323e-17 > 4.983441e+16 > 0.00000000 > > i6 5.147966e-18 1.569095e-17 > 3.280850e-01 > 0.74309614 > > i7 1.096044e-17 1.555829e-17 > 7.044760e-01 > 0.48173041 > > i8 -1.166290e-18 1.287370e-17 > -9.059482e-02 0.92788026 > > i9 1.627371e-17 1.540567e-17 > 1.056345e+00 > 0.29173427 > > > i10 4.001692e-18 1.365740e-17 > 2.930053e-01 > 0.76973827 > > i11 NA > NA NA > NA > > i12 -1.052843e-17 1.324484e-17 > -7.949081e-01 0.42735000 > > i13 2.571236e-17 1.357336e-17 > 1.894325e+00 > 0.05922715 > > i14 NA > NA NA > NA > > > > i15 NA > NA NA > NA > > > > > > rbind after row number i10 will change row number i12 to have > NA,Na,NA.Na > values. > > > -- > Thanks in advance > Moumita > > [[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. > >-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[alternative HTML version deleted]]