Quantcast
Channel: How to repeat a for loop in R for n times? - Stack Overflow
Viewing all articles
Browse latest Browse all 2

Answer by akrun for How to repeat a for loop in R for n times?

$
0
0

If we want to repeat the for loop 'n' times, create a function with the for loop

f1 <- function(data, ival) {        for(i in head(seq_len(nrow(data)), -1)) {        if(i > ival) {         data$deltas[i] <- -((-data$p[i])) * data$alphas[i]        } else  {         data$deltas[i] <- ((-(((data$p[i+1]) - (data$p[i]))) *                             data$alphas[i]) + data$deltas[i+1])        }      }    return(data)  }

and assign the data on each iteration

n <- 10for(i in seq_len(n)) data <- f1(data, ival = 130)

Using a small reproducible example

set.seed(24)df1 <- data.frame(deltas = rnorm(10), p = runif(10), alphas = rnorm(10))

-input

df1#         deltas          p      alphas#1  -0.545880758 0.09393471 -0.46906069#2   0.536585304 0.55225375 -0.33498679#3   0.419623149 0.72516981  1.53625216#4  -0.583627199 0.13792462  0.60999453#5   0.847460017 0.22296603  0.51633570#6   0.266021979 0.68767062 -0.07430856#7   0.444585270 0.07648914 -0.60515695#8  -0.466495124 0.59973018 -1.70964518#9  -0.848370044 0.63014766 -0.26869311#10  0.002311942 0.04663503 -0.64859151n <- 10for(i in seq_len(n)) df1 <- f1(df1, ival = 5)

-output

df1#         deltas          p      alphas#1   0.832142549 0.09393471 -0.46906069#2   0.617163102 0.55225375 -0.33498679#3   0.559238507 0.72516981  1.53625216#4  -0.342918176 0.13792462  0.60999453#5  -0.291043381 0.22296603  0.51633570#6  -0.051099814 0.68767062 -0.07430856#7  -0.046287932 0.07648914 -0.60515695#8  -1.025325821 0.59973018 -1.70964518#9  -0.169316331 0.63014766 -0.26869311#10  0.002311942 0.04663503 -0.64859151

Viewing all articles
Browse latest Browse all 2

Trending Articles



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