2012-08-29 53 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重复测量(但你需要在你的模型中使用更多的术语),但是混合效果方法是首选的(但对我提到的函数不起作用)。 –