在无索赔折扣方案的R规划中,替换具有零长度错误
我试图在R中运行这段代码来计算一家公司在n年后从保费中获得的收入,但我一直得到的替换结果是零误差。(_TM的幂_是一个乘法矩阵的函数,可以很好地工作)在无索赔折扣方案的R规划中,替换具有零长度错误,r,R,我试图在R中运行这段代码来计算一家公司在n年后从保费中获得的收入,但我一直得到的替换结果是零误差。(_TM的幂_是一个乘法矩阵的函数,可以很好地工作) NCD=c(1.85.70) 基本保费=200 p=数字(0) premI无法运行您的任何代码,因为您尚未提供\u TM函数的power\u。但它似乎是prem(n)为一个输入返回一个0长度的结果。得到错误后,检查当前的n值-这就是导致问题的n。然后,您可以针对特定的n调试函数,并找出它返回0长度结果的原因。问题是您的函数总是返回NULL。也许
NCD=c(1.85.70)
基本保费=200
p=数字(0)
premI无法运行您的任何代码,因为您尚未提供\u TM
函数的power\u。但它似乎是prem(n)
为一个输入返回一个0长度的结果。得到错误后,检查当前的n
值-这就是导致问题的n
。然后,您可以针对特定的n
调试函数,并找出它返回0长度结果的原因。问题是您的函数总是返回NULL
。也许base\u premium*sum(p*NCD)
应该放在for循环之外?
NCD = c(1,.85,.70)
base_premium = 200
p = numeric(0)
prem<-function(n){
for (i in length(NCD)) {
p[i] = mean(power_of_TM(n)[,i])
base_premium*sum(p*NCD)
}
}
#check for n=5
prem(5)
premium=numeric(0)
for (n in 1:20){
premium[n]=prem(n)
}
Error in premium[n] <- prem(n) : replacement has length zero
premium
numeric(0)