4 votes

Tracé d'une régression linéaire avec interactions

J'ai besoin de créer un graphique de la régression linéaire de la formule suivante, mais je n'ai pas compris quelle est la bonne façon de le faire dans R :

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

Où scrd est mon jeu de données qui peut être téléchargé ici : https://dl.dropbox.com/u/3288659/Velocity_vs_Velocity.csv

Le jeu de données, correspondant à une expérience, contient 2 variables (Velocity et Velocity_response) et je veux savoir s'il existe une corrélation linéaire entre les deux. Disons que la première est la vitesse d'une voiture conduite dans 4 conditions de terrain (neige, bois, gravier, et un matériau insonorisé) et la seconde est la vitesse perçue par le conducteur. Dans l'expérience, les 4 conditions ont été répétées deux fois par 10 participants qui, à la fin de l'expérience, ont dû évaluer les vitesses perçues qu'ils avaient eues en conduisant dans ces conditions. Les évaluations ont été effectuées sur une échelle visuelle analogique où 0 = très lent et 10 = très rapide. J'ai donc 80 points dans mes régressions (10 participants * 2 essais * 4 estimations des vitesses). Cependant, dans l'ensemble de données, j'ai décidé de faire la moyenne des performances des 2 essais.

Le résultat de la formule que j'ai utilisée pour effectuer la régression,

 summary(lm.velocity_vs_Velocity_response)

es

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 

J'en conclus qu'il existe une forte corrélation entre les deux variables (R^2 = 0,91 et valeur p < 0,001).

J'aimerais maintenant voir la ligne correspondant à la régression linéaire sur ces données. Comment cela se fait-il dans R ? Quelle est la formule correcte ? Quelqu'un peut-il fournir un exemple de code dans R ?

Le problème est qu'en utilisant la fonction "plot", j'obtiens un désordre de points et je ne suis pas en mesure de voir une tendance linéaire.

J'affiche ici les premières lignes de l'ensemble de données.

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

3voto

Greg Snow Points 22040

Votre vie sera beaucoup plus facile si vous le faites fonctionner comme :

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

Ensuite, pour explorer la relation et l'interaction, il faut examiner les éléments suivants Predict.Plot et TkPredict dans le paquet TeachingDemos.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X