Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:循环中出错,替换长度为零_R_Loops_For Loop - Fatal编程技术网

R:循环中出错,替换长度为零

R:循环中出错,替换长度为零,r,loops,for-loop,R,Loops,For Loop,我试着寻找其他问题的解决方案,但没有一个适合我的需要 我在这个可再现的例子中得到了错误: m <- 0 vectorsd<- rep(0.2, 183) dgmean <- -0.41 rnorm <- as.data.frame(rnorm(183, mean = m, sd = vectorsd)) for (i in 1:length(rnorm$`rnorm(183, mean = m, sd = vectorsd)`)) { rnorm[,i

我试着寻找其他问题的解决方案,但没有一个适合我的需要

我在这个可再现的例子中得到了错误:

m <- 0

vectorsd<-  rep(0.2, 183)

dgmean <- -0.41

  rnorm <- as.data.frame(rnorm(183, mean = m, sd = vectorsd))

for (i in 1:length(rnorm$`rnorm(183, mean = m, sd = vectorsd)`))  {
  rnorm[,i] <- rnorm(183, mean = m, sd = vectorsd)
}

simulation1 <- matrix(1,184,183)

beta <- -0.21

##For each column (each value of the forward curve)
for (i in 1:length(simulation1[1,])) {
  ##For each element of a whole column (each day since the starting of the product)
  for (j in 1:length(simulation1[,1])-1) {
    simulation1[j+1,i] <- simulation1[j,i]+rnorm[j,i]+(beta*(simulation1[j,i]-dgmean))
  }
}
我希望从第二行开始得到模拟1的每一行,并用转换模拟1[j,I]+rnorm[j,I]+beta*simulation1[j,I]-dgmean替换,但我得到了这个错误:


模拟中出错[j+1,i]此操作运行时没有任何错误:

m <- 0
vectorsd<-  rep(0.2, 183)
dgmean <- -0.41
rnorm <- as.data.frame(rnorm(183, mean = m, sd = vectorsd))

for (i in 1:length(rnorm$`rnorm(183, mean = m, sd = vectorsd)`))  {
   rnorm[,i] <- rnorm(183, mean = m, sd = vectorsd)
}

simulation1 <- matrix(1,184,183)
beta <- -0.21

##For each column (each value of the forward curve)
for (i in 1:length(simulation1[1,])) {
  ##For each element of a whole column (each day since the starting of the product)
   for (j in 1:(length(simulation1[,1]) - 1)) {
     simulation1[i,j] <- simulation1[i,j]+rnorm[i,j]+(beta*(simulation1[i,j]-dgmean))
   }
}

这个例子是不可复制的。m、 矢量和dgmean是未知的。虽然您让我们知道前两个是常数,但请包括它们,dgmean不清楚。@mnist我希望它现在已修复。在故障点上,I和j处于违规状态。现在,您可以在循环外部检查单个表达式及其维度,并查看您期望的与您得到的不同之处。这:1:lengthsimulation1[,1]-1将生成一个从0开始的序列。因为R中没有0个索引,所以simulation[0,i]返回numeric0.1:lengthsimulation1[,1]-1也可以