При выполнении приведенного ниже кода возникает следующая ошибка. По-видимому, это связано с тем, что не назначены глобальные параметры, однако это создает проблему, когда ncfn и ncfp назначаются глобальными. Пожалуйста, вы можете помочьsimul() не может найти переменные в выражениях
#Install libraries
library(MASS)
library(actuar)
#Set globals
set.seed(1)
sims<-10
#Set claim frequency
claim_freq_n<-5
claim_freq_p<-0.5
#Create function to simulate claim severity, set n globally as number of claims to generate, set m globally as parameters of severity distribution
claimsev<-function(n,m) {
rep(100,n) #use for testing
}
#Create function to generate two tables, first table has all projected losses, second table has number of losses by simulation.
SimX<-function(ncfn,ncfp,nyr) {
#sims = number of simulations
#The expressions for ms and mf are dependent on the parameters being set at global level, so need << assignment and removal at end of these global values
nodes <- list(year = nyr)
mf <- expression(year=rnbinom(ncfn,ncfp))
ms <- expression(year=claimsev(global_m))
pf <- simul(nodes, mf, ms)
#now clean up
rm(list=grep("glob", ls(1), value=T), envir=globalenv())
#check
global_test<<-frequency(pf,classification=FALSE)
print(fm<-mean(frequency(pf,classification=FALSE)))
sf<-severity(pf, by = "year") #see severity claims by year
sn<-as.numeric(frequency(pf,classification=FALSE))
return(list(sf$main,sn))
}
#Apply per claim and policy deductibles and limits
z<-SimX(claim_freq_n,claim_freq_p,sims)
Ошибка в rnbinom (ncfn, ncfp, п = 10): объект «ncfn» не найден
@JohnColeman это 'pf <- simul (nodes, mf, ms)'. Выражение оценивается, но оно не находит объекты. Возможно, обернуть все в 'eval()' поможет? –