0

I am running the following loop.

The first loop is this:

cliff = function(a, b, c, d, x0, y0, n){
 tab = data.frame(NA, nrow = n+1, ncol = 2)
 colnames(tab) = c("x", "y")
 tab[1,1:2] = c(x0, y0)
 for(i in 1:n){
   i = i + 1
   tab[i,1] = sin(a*tab[(i-1),2]) + c*cos(a*tab[(i-1),1])
   tab[i,2] = sin(b*tab[(i-1),1]) + d*cos(b*tab[(i-1),2])
 }
 return(round(tab[,1:2], 3))
}

This is just some loop I made (I know it's not the best) that runs through this recursive operation that generates new x and y values from previous ones. My main concern is this loop:

val = c(10,100,1000,10000,100000)
tab2 = data.frame(n = rep(NA, length(val)), Time = rep(NA, length(val)))
i = 1
for(n in val){
  sT = Sys.time()
    cliff(a = 1, b = 1, c = 2, d = 3, x0 = 0, y0 = 0, n)
    cat()
  eT = Sys.time()
  mytime = eT - sT
  if(attributes(mytime)$units == "mins"){
    tab2$Time[i] = mytime*60
  } else{
    tab2$Time[i] = mytime
  }
  tab2$n[i] = n;
  i = i + 1
}
tab2

Because this loop takes a good 20 minutes to run, I ran it one time to have tab2 saved as a data frame so it can be used in the future. However, when I try and knit the pdf, I get the following error:

Error in eval(expr, envir, enclos) : object 'tab2' not found 

Why is this happening? When I check in my stored objects, it is there, and when I use exists("tab2") I get TRUE. So why does RMarkdown say this does not exist?

akenny430
  • 305
  • 3
  • 16
  • How exactly are you knitting the document? Are you clicking a button in Rstudio or something? Generally when knitting a new R session is started, it does not use your current working environment. Maybe you can try looking into caching chunks. – MrFlick Nov 20 '18 at 22:05
  • Possible duplicate: https://stackoverflow.com/questions/42340928/knit-error-object-not-found – MrFlick Nov 20 '18 at 22:08

0 Answers0