楼主: Limrange
3102 1

[问答] R语言建模报错:没有可用来把这个S4类别强迫改为矢量的方法 [推广有奖]

  • 0关注
  • 0粉丝

高中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
254 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
176 点
帖子
4
精华
0
在线时间
35 小时
注册时间
2015-12-22
最后登录
2023-3-24

楼主
Limrange 发表于 2021-8-24 01:03:13 |AI写论文
200论坛币

本人小白,R语言运行时候报错显示:没有可用来把这个S4类别强迫改为矢量的方法。自己网上查了好久都没找到方法,想请论坛的大神帮忙看看。用的是混合Copula对GM和UTX的股票收益率数据集进行建模,以下是代码(代码都是书上抄的,可是运行不出来):

  1. library(copula)
  2. library(FRAPO)
  3. library(QRM)

  4. data(DJ.df)
  5. Data = DJ.df[,c('GM','UTX')]
  6. R = na.omit(returnseries(Data,method = 'discrete',trim = TRUE))
  7. U = apply(R,2,edf)

  8. copC = claytonCopula(2)
  9. copG = gumbelCopula(2)

  10. LLCG = function(params,x,copC,copG){
  11.   slot(copC,'parameters') = params[1]
  12.   slot(copG,'parameters') = params[2]
  13.   pi = params[3]
  14.   optm = sum(log(pi * dCopula(copC,x) + (1 - pi) *
  15.                   dCopula(copG,x)))
  16.   return(optm)
  17. }

  18. lower = c(copC@param.lowbnd,copG@param.lowbnd,0)
  19. upper = c(copC@param.upbnd,copG@param.upbnd,1)
  20. par1 = copula:::fitCopula(copC,U,method = 'itau')@estimate
  21. par2 = copula:::fitCopula(copG,U,method = 'itau')@estimate
  22. par3 = 0.5

  23. opt = optim(c(par1,par2,par3),LLCG,x = U,copC = copC,copG = copG,
  24.             lower = lower,upper = upper,method = 'L-BFGS-B',
  25.             control = list(fnscale = -1,trace = 2),
  26.             hessian = TRUE)
复制代码

前面的代码都没报错,就是运行到最后一段optim()函数时候报错:Error in rbind2(..1) : 没有可用来把这个S4类别强迫改为矢量的方法。

万分感谢。







关键词:R语言 parameters Parameter estimate paramete 悬赏

沙发
Limrange 发表于 2021-8-25 14:12:54
来个大侠指点一下嘛。。。。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-30 10:17