楼主: miyakeken233
1936 2

[问答] R做Lee-Carter的SVD分解时出错 [推广有奖]

  • 0关注
  • 1粉丝

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
316 点
帖子
6
精华
0
在线时间
18 小时
注册时间
2017-10-19
最后登录
2021-4-28

楼主
miyakeken233 发表于 2019-3-4 08:12:46 |AI写论文
3论坛币

求助!我在做Lee-Carter的SVD分解,出现了如下错误,求助各位大神应该如何解决?

我尝试了interpolate=TRUE还是会报错





> ###transform the data so that it can beuesd in the packages

> age_svd<-c(1:19)

>std.m<-demogdata(m,E,ages=age_svd,years=oldyear,type="mortality",label="China",name="Total",lambda=0)

> ###fit the data with Lee-Carter modelusing SVD

>China<-lca(std.m,years=std.m$year,ages=std.m$age,adjust="dt",restype="logrates")

Error in if (sum(ax < -1e+09) > 0)stop(sprintf("Some %s rates are zero.\n Try reducing the maximum age orsetting interpolate=TRUE.",  :

  需要TRUE/FALSE值的地方不可以用缺少值


关键词:如何解决 如何解

沙发
扑街迅 发表于 2019-6-17 11:18:36
你数据中的年龄的组数是不是大于100了?因为lca函数中默认的max.age=100,如果大于100的话,试着写China<-lca(std.m,adjust="dt",max.age=你自己数据中年龄的组数)。

藤椅
扑街迅 发表于 2019-6-17 11:20:41
不好意思,我看错了,你的年龄组数是19,lca默认的是minperiod=20,请改成19

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

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