[R] Insert row in specific location between data frames

arun smartpink111 at yahoo.com
Sat Jun 30 01:27:21 CEST 2012


Hi Peter,

With more than one columns,
#Suppose, I add one more column to the exisiting dat1


dat2<-data.frame(dat1,predict_b=rnorm(18,15))
dat3<-dat2[10,1]
 dat3<-NA
dat4<-data.frame(predict_SO2_a=c(dat2[1:9,1],dat3,dat2[10:18,1]),predict_b=c(dat2[1:9,2],dat3,dat2[10:18,2]))
  predict_SO2_a predict_b
1      39.793231  15.55819
2      30.252578  14.12883
3      32.467584  15.43390
4      31.941509  15.52307
5      27.908320  16.25137
6      11.594137  12.84646
7       9.368125  14.95992
8      12.319093  16.50440
9      11.558811  15.41039
10            NA        NA
11      7.937192  15.71090
12     11.211306  15.06633
13     12.400342  14.97070
14     12.393146  17.07543
15     13.256160  15.75680
16     10.709600  16.26108
17      9.966334  13.52237
18     28.850652  14.37278
19     10.024405  14.51609


I guess, the code gets uglier with more columns.

A.K.




----- Original Message -----
From: Peter Ehlers <ehlers at ucalgary.ca>
To: arun <smartpink111 at yahoo.com>
Cc: pigpigmeow <glorykwok at hotmail.com>; R help <r-help at r-project.org>
Sent: Friday, June 29, 2012 5:19 PM
Subject: Re: [R] Insert row in specific location between data frames

On 2012-06-29 11:08, arun wrote:
> Hi,
>
> You can try this:
>
> dat1<-read.table(text="
> predict_SO2_a
> 1      39.793231
> 2      30.252578
> 3      32.467584
> 4      31.941509
> 5      27.908320
> 6      11.594137
> 7        9.368125
> 8      12.319093
> 9      11.558811
> 10      7.937192
> 11      11.211306
> 12      12.400342
> 13      12.393146
> 14      13.256160
> 15      10.709600
> 16      9.966334
> 17      28.850652
> 18      10.024405
> ",sep="",header=TRUE)
>
>   dat2<-dat1[10,]
>   dat2<-NA
> dat3<-data.frame(predict_SO2_a=c(dat1[1:9,],dat2,dat1[10:18,]))
>
> A.K.

But don't do this with more than one column in your dataframe.

Peter Ehlers

>
>
>
>
> ----- Original Message -----
> From: pigpigmeow <glorykwok at hotmail.com>
> To: r-help at r-project.org
> Cc:
> Sent: Friday, June 29, 2012 1:01 PM
> Subject: [R] Insert row in specific location between data frames
>
> Hi everyone! I have a simple question.
>
> my data is
> predict_SO2_a
> 1       39.793231
> 2       30.252578
> 3       32.467584
> 4       31.941509
> 5       27.908320
> 6       11.594137
> 7        9.368125
> 8       12.319093
> 9       11.558811
> 10       7.937192
> 11      11.211306
> 12      12.400342
> 13      12.393146
> 14      13.256160
> 15      10.709600
> 16       9.966334
> 17      28.850652
> 18      10.024405
>
>
>
> I want to insert row which is "NA" in 10th row
>
> that is ..
> predict_SO2_a
> 1       39.793231
> 2       30.252578
> 3       32.467584
> 4       31.941509
> 5       27.908320
> 6       11.594137
> 7        9.368125
> 8       12.319093
> 9       11.558811
> 10     NA
> ....
> and it becomes 19 rows in this data.
>
>
> however, I can't do this. my scipt is following
> topdata <- predict_SO2_a[1:10,]
> bottomdata <- predict_SO2_a[11:nrow(predict_SO2_a),]
> nadata <- data.frame(NA)
> d1 <- rbind(topdata,nadata)
> d2 <- rbind(d1, bottomdata)
>
> what is my problem?!
>
> Thank in advance!
>
>




More information about the R-help mailing list