2

我正在尝试建立一个标准的translog需求函数,即:

lnY = lnP + lnZ + lnY*lnZ + lnY^2 + lnZ^2

其中Y= 需求、P= 价格和Z= 收入。

但是,当我在 nlme 或 lme4 中包含平方项时,它们会忽略它们。我试过了:

model <- lme(asinh(gallons) ~ asinh(rprc) + asinh(rexp) + asinh(rexp)*asinh(rexp) + asinh(rprc)*asinh(rprc) + asinh(rprc)*asinh(rexp), random=~1|cuid, data = data)

我试过了:

model <- lme(asinh(gallons) ~ asinh(rprc) + asinh(rexp) + asinh(rexp)^2 + asinh(rprc)^2 + asinh(rprc)*asinh(rexp), random=~1|cuid, data = data)

我已经尝试了 lmer 的等价物。

平方项只是没有出现在摘要(模型)中,而且我知道它们被忽略了,因为我已经用平方项创建了单独的向量并将它们传递进去并且估计值不同。

有人有什么建议吗?

4

1 回答 1

8

在公式中,该术语^2用于创建变量的交互作用。例如,(x+y+z)^2创建主效应和与两个变量的所有可能交互,即x + y + z + x:y + x:z + y:z。因此,x^2公式内部与 相同x

此外,还*用于创建交互,例如,x*y创建x + y + x:y. 因此,x*x公式内部与 相同x

要在公式中创建平方值,您必须使用函数IieI(x^2)I(x*x)

lme(asinh(gallons) ~ asinh(rprc) + asinh(rexp) +
      I(asinh(rexp)^2) + I(asinh(rprc)^2) + asinh(rprc)*asinh(rexp), 
    random=~1|cuid, data = data)
于 2013-08-30T09:02:06.983 回答