在gnm R包

时间:2015-08-03 15:27:56

标签: r gnm

我试图使用R封装gnm来拟合广义的Lee-Carter模型。 我构建了一个数据框

EXPO <- read.table("dati/Exposures.txt",header=TRUE,skip=0)
DEATH <- read.table("dati/Deaths.txt",header=TRUE,skip=2) 
base=data.frame(
D=DEATH$Total,
E=EXPO$Total,
X=as.factor(EXPO$Age),
T=as.factor(EXPO$Year))

现在,虽然这有效

LC1 <- gnm(D/E~ as.factor(X)+Mult(as.factor(X),as.factor(T)),
                 weights=E,family=binomial(link="logit"),data=base)

当我转到这个时,我收到错误

LC2 <- gnm(D/E~ as.factor(X)+instances(Mult(as.factor(X),as.factor(T)),2),
                 weights=E,family=binomial(link="logit"),data=base).

具体来说,

Error in eval(expr, envir, enclos) : object 'D/E' not found

我已经尝试替换&#34; D / E&#34;与&#34;基础$ D /基础$ E&#34;在公式中,但它没有工作......

1 个答案:

答案 0 :(得分:0)

我是gnm的维护者。这似乎是instances中的一个错误,我会做一个注释来修复。在此期间,您可以以长格式指定实例:

LC2 <- gnm(D/E ~ as.factor(X) + Mult(as.factor(X), as.factor(T), inst = 1) + 
           Mult(as.factor(X), as.factor(T), inst = 2),
           weights = E, family = binomial(link = "logit"), data = base)

或者按照Josh的建议预先计算比例也可以。