如何解决r仿真函数前循环中的错误
我正在尝试创建一个函数,以便可以rowwise
通过一个数据帧(如@rpolicastro所建议
Run a Monte Carlo for each row of a data frame in R)
我要使之起作用的代码是:
library(tidyverse)
Start.Amount <- 1
Mean <- 3
SD <- .5
#### Monte Carlo parameters ####
days.to.fourth.time <- 50 # number of days looked at
set.seed(13) # reproducible
N<-200 # number of trials
#### creates simulation data ####
sim <- function(Start.Amount,Mean,SD) {
# make blank matrix
monte.carlo.matrix<-matrix(nrow=days.to.fourth.time+1,ncol=N)
# puts the start value
for(j in 1:ncol(monte.carlo.matrix)){
monte.carlo.matrix[1,j] <- Start.Amount
# multiples the prevIoUs value by mean and sd
for(i in 2:nrow(monte.carlo.matrix)){
monte.carlo.matrix[i,j]<-monte.carlo.matrix[i-1,j]*exp(rnorm(1,SD))
}
}
}
test <- sim(Start.Amount = Start.Amount,Mean = Mean,SD = SD)
但是,这使test
成为“空(空)”对象。
# make blank matrix
monte.carlo.matrix<-matrix(nrow=days.to.fourth.time+1,SD))
}
}
我在功能上做错了什么?根据我的尝试,错误开始出现在“#puts the start value”行中。
感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。