2012-08-29 88 views
4

我需要建立以下公式進行線性迴歸的曲線的線性迴歸的,但我不明白這是正確的方式做到這一點在R:情節與互動

lm.velocity_vs_Velocity_response = lm(scrd$Velocity~scrd$Velocity_response*scrd$Subject) 

凡scrd是我的數據集,可以在這裏下載:https://dl.dropbox.com/u/3288659/Velocity_vs_Velocity.csv

數據集,對應於一個實驗,包含2個變量(速度和Velocity_response),我想知道兩者之間是否存在線性相關。假設第一個是在4個地形條件下驅動的汽車的速度(雪,木頭,礫石和一種被稱爲「無聲」的材料),第二個是導體的感知速度。在實驗中,10個參與者重複兩次的4個條件,在實驗結束時,他們必須評估他們在條件下駕駛的感知速度。在視覺模擬刻度上進行評估,其中0 =非常緩慢,10 =非常快。 因此我在迴歸中有80分(10個參與者* 2個試驗* 4的速度估計)。然而在數據集中,我決定平均2次試驗的性能。

我用來使迴歸公式的輸出,

summary(lm.velocity_vs_Velocity_response) 

Residual standard error: 0.08377 on 20 degrees of freedom 
Multiple R-squared: 0.91, Adjusted R-squared: 0.8245 
F-statistic: 10.64 on 19 and 20 DF, p-value: 1.085e-06 

從中我的結論是兩個變量(R^2之間的強相關性= 0.91和p值< 0.001)

現在,我想看看線擬合這些數據的線性迴歸。 它是如何在R中完成的?哪一個是正確的公式? 任何人都可以提供一個R代碼的例子嗎?

問題是,使用情節我得到一個點的混亂,我無法看到一個線性的趨勢。

在這裏,我將數據集的第一行

Subject  Material Velocity Velocity_response 
Subject1 no_sound 1.41  7.8 
Subject1 snow  1.255  4 
Subject1 gravel  1.32  5.3 
Subject1 wood  1.335  5.4 
Subject2 no_sound 1.435  10 
Subject2 snow  1.265  1.7 
Subject2 gravel  1.3   8.5 
Subject2 wood  1.355  5.3 
+0

另外,它看起來像你有重複的措施。如果是這樣,你根本不應該使用lm。你應該使用混合模型。 –

+0

lm有一個與它相關的plot()。你可以使用plot(lm.velocity_vs.Velocity_response)。另外,當然velocity_response應該在模型的左邊,速度在右邊。說速度取決於響應是沒有意義的。您可能需要序數邏輯迴歸。 –

+0

大家好,謝謝你的回答。 要回答彼得弗洛姆,當然我有重複措施。那麼使用lm是正確還是錯誤?我不是R的專家,也不是靜態的;(如果可能的話,我需要幫助混合模型的代碼,如果使用lm是錯誤的,我不知道什麼是序數邏輯迴歸,也不是hpw來執行它... 顯然Greg Snow同意使用lm,我很困惑,有人可以澄清這個問題嗎?非常感謝 –

回答

3

如果您運行LM喜歡你的生活會容易得多:

lm.velocity_vs_Velocity_response <- lm(Velocity~Velocity_response*Subject, data=scrd) 

然後去探索的關係,並在互動外觀TeachingDemos包中的Predict.PlotTkPredict函數。

+1

這當然是真的,@Greg。此外,我會建議一個短一點的型號名稱,但這可能是個人偏好。 –

+0

感謝sintax的建議。請讓我知道關於上述評論 –

+0

@PeterFlom和Luca,我也會建議一個較短的對象名稱,但是我傾向於在另一端錯誤得多,並且過度使用像'fit'和'tmp'這樣的名字,以上是肯定的更具描述性。使用混合模式也是一個好主意(我沒有仔細閱讀足夠的重複措施)。你可以使用lm重複測量(但你需要在你的模型中使用更多的術語),但是混合效果方法是首選的(但對我提到的函數不起作用)。 –