Quantcast
Channel: Active questions tagged r - Stack Overflow
Viewing all articles
Browse latest Browse all 205491

How to repeatedly stack same row with certain amount of times [duplicate]

$
0
0

This question already has an answer here:

this question is related to the post below, however, this is the more general from.

How to split the data by time more efficiently?

I have data, which repeatedly observed ID 1. The value is changing through time. interval is time interval when observation start and observation stop.

ID<-rep(1,4)
start<-c(0, 1, 4, 5)
stop<-c(1, 4, 5, 7)
sex<-c("M","M","M","M")
value<-c(10.5,20,13,19)
test<-data.frame(ID,start,stop,sex,value)
test<-test%>%mutate(rep=stop-start)

  ID start stop sex value interval
1  1     0    1   M  10.5        1
2  1     1    4   M  20.0        3
3  1     4    5   M  13.0        1
4  1     5    7   M  19.0        2

I want to duplicate the row and stack it repeatedly. In duplicating, I want (interval-1) copies of row. So,

  ID start stop sex value interval
1  1     0    1   M  10.5        1
2  1     1    4   M  20.0        3
2  1     1    4   M  20.0        3
2  1     1    4   M  20.0        3
3  1     4    5   M  13.0        1
4  1     5    7   M  19.0        2
4  1     5    7   M  19.0        2

second column of test duplicated two times(which is 3-1) and stacked.

I tried for loop, but it was very complicated. Is there a way to do it with for loop?


Viewing all articles
Browse latest Browse all 205491

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>