簡體   English   中英

我的R公式是否與我想到的統計模型相當?

[英]Is my R formula equivalent to the statistical model I have in mind?

問題:

使用formula構建統計模型是R語言的強大而優雅的特征。 我沒有盡可能多地使用formula的原因之一是語法有點混亂(例如x*y不僅僅意味着“ xy的乘積”)。

題:

我正在尋找一種方法來確保我正確使用了formula語法,並且我輸入的formula確實實現了我想到的統計模型。 理想情況下,我希望在實際擬合模型之前得到此確認。

例:

說,我想通過線性回歸找到模型y = a + b*(x1*x2)的參數ab 天真地,我在R中輸入

df <- data.frame(y=seq(5), x1=runif(5), x2=runif(5)) # toy data
lm(y~x1*x2, data=df)    # this is wrong

我可以從lm的輸出中看出,由於x1x2的額外系數,這不是我想要的。 但是在調用擬合函數之前應該可以調試公式。 (適合此模型的正確方法是lm(y~x1:x2, data=df)

在運行模型之前調試公式的一種方法是使用formulaupdate

f <- formula( y ~ x1*x2)
update( f , terms( f ) )
# y ~ x1 + x2 + x1:x2

f <- formula( y ~ x1:x2)
update( f , terms( f ) )
# y ~ x1:x2

巧合的是,你還可以指定你的模型截距項(即系數為a由包括1(1 *) a = a ),所以這是等價的:

f <- formula( y ~ 1 + x1:x2)
update( f , terms( f ) )
# y ~ x1:x2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM