首页 > 解决方案 > R 对象不存在

问题描述

我正在运行以下循环。

第一个循环是这样的:

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))
}

这只是我制作的一些循环(我知道这不是最好的),它贯穿这个递归操作,从以前的值中生成新的 x 和 y 值。我主要关心的是这个循环:

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

因为这个循环需要 20 分钟才能运行,所以我运行了一次,将 tab2 保存为数据框,以便将来使用。但是,当我尝试编织 pdf 时,出现以下错误:

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

为什么会这样?当我签入我存储的对象时,它就在那里,当我使用时,exists("tab2")我得到了 TRUE。那么为什么 RMarkdown 说这不存在呢?

标签: rcompiler-errorsstorager-markdown

解决方案


推荐阅读