r - nlme 和 lme4 忽略平方项

标签 r statistics regression lme4 mixed-models

我正在尝试构建一个标准的 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 的等价物。

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

有人有什么建议吗?

最佳答案

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

此外,* 也用于创建交互,例如,x*y 创建x + y + x:y。因此,公式中的 x*xx 相同。

要在公式中创建平方值,您必须使用函数 I,即 I(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)

关于r - nlme 和 lme4 忽略平方项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18528311/

相关文章:

r - 适用于大数据的 clValid 函数

r - 与 'reading authorization packet' 处的 MySQL 服务器失去连接,系统错误 : 0, Amazon RDS

r - 将 S4 对象存储在矩阵中

php - 如何设计用于文件下载统计的数据库表

python - Pandas 或 Statsmodels 中的固定效果

python - 如何根据线性回归结果绘制S形曲线?

r - 在 R 中的大图中总结邻居属性的快速方法

python - 如何找到最大可能的协方差矩阵,或具有非缺失成对协方差的最大列集

python - 使用 Pandas 叠加多个直方图

r - geom_smooth 在数据子集上