|
本人小白,R语言运行时候报错显示:没有可用来把这个S4类别强迫改为矢量的方法。自己网上查了好久都没找到方法,想请论坛的大神帮忙看看。用的是混合Copula对GM和UTX的股票收益率数据集进行建模,以下是代码(代码都是书上抄的,可是运行不出来): - library(copula)
- library(FRAPO)
- library(QRM)
- data(DJ.df)
- Data = DJ.df[,c('GM','UTX')]
- R = na.omit(returnseries(Data,method = 'discrete',trim = TRUE))
- U = apply(R,2,edf)
- copC = claytonCopula(2)
- copG = gumbelCopula(2)
- LLCG = function(params,x,copC,copG){
- slot(copC,'parameters') = params[1]
- slot(copG,'parameters') = params[2]
- pi = params[3]
- optm = sum(log(pi * dCopula(copC,x) + (1 - pi) *
- dCopula(copG,x)))
- return(optm)
- }
- lower = c(copC@param.lowbnd,copG@param.lowbnd,0)
- upper = c(copC@param.upbnd,copG@param.upbnd,1)
- par1 = copula:::fitCopula(copC,U,method = 'itau')@estimate
- par2 = copula:::fitCopula(copG,U,method = 'itau')@estimate
- par3 = 0.5
- opt = optim(c(par1,par2,par3),LLCG,x = U,copC = copC,copG = copG,
- lower = lower,upper = upper,method = 'L-BFGS-B',
- control = list(fnscale = -1,trace = 2),
- hessian = TRUE)
复制代码前面的代码都没报错,就是运行到最后一段optim()函数时候报错:Error in rbind2(..1) : 没有可用来把这个S4类别强迫改为矢量的方法。 万分感谢。
|