使用lm,我想拟合模型:y = b0 + b1*x1 + b2*x2 + b1*b2*x1*x2
我的问题是:如何指定相互作用的系数应该等于系数乘以主效应?
我已经看到将系数设置为特定值,您可以使用offset()和I(),但我不知道如何指定系数之间的关系.
这是一个简单的模拟数据集:
n <- 50 # Sample size
x1 <- rnorm(n, 1:n, 0.5) # Independent variable 1
x2 <- rnorm(n, 1:n, 0.5) # Independent variable 2
b0 <- 1
b1 <- 0.5
b2 <- 0.2
y <- b0 + b1*x1 + b2*x2 + b1*b2*x1*x2 + rnorm(n,0,0.1)
Run Code Online (Sandbox Code Playgroud)
为了拟合模型1:y = b0 + b1*x1 + b2*x2 + b3*x1*x2,我会使用:
summary(lm(y~ x1 + x2 + x1:x2))
Run Code Online (Sandbox Code Playgroud)
但是我如何拟合模型2:y = b0 + b1*x1 + b2*x2 + b1*b2*x1*x2? …
我正在尝试从R中的ks包估计kde对象的95%轮廓的面积。
如果使用ks包中的示例数据集,则将按以下方式创建内核对象:
library(ks)
data(unicef)
H.scv <- Hscv(x=unicef)
fhat <- kde(x=unicef, H=H.scv)
Run Code Online (Sandbox Code Playgroud)
我可以使用plot函数轻松绘制25%,50%,75%的轮廓:
plot(fhat)
Run Code Online (Sandbox Code Playgroud)
但是我想估计轮廓内的面积。
我在这里看到了类似的问题,但提出的答案并不能解决问题。
在我的实际应用中,我的数据集是动物的时间序列,我想使用二元正态核来测量该动物的家园范围。我使用ks包是因为它允许使用诸如插件和平滑交叉验证之类的方法来估计内核分发的带宽。
任何帮助将非常感激!