Ich konnte nicht herausfinden, wie eine lineare Regression in R in für ein Design mit wiederholten Kennzahlen durchgeführt werden kann. In einer früheren Frage (die noch nicht beantwortet wurde) wurde mir vorgeschlagen, keine lm
gemischten Modelle zu verwenden , sondern diese zu verwenden. Ich habe es lm
folgendermaßen benutzt:
lm.velocity_vs_Velocity_response <- lm(Velocity_response~Velocity*Subject, data=mydata)
(Weitere Details zum Datensatz finden Sie unter dem Link oben)
Im Internet konnte ich jedoch kein Beispiel mit R-Code finden, das zeigt, wie eine lineare Regressionsanalyse durchgeführt werden kann.
Gibt es jemanden, der einige Vorschläge machen kann? Jedes R-Code-Beispiel könnte eine große Hilfe sein.
Bearbeiten
Nach dem Vorschlag, den ich bisher erhalten habe, sollte die Lösung für die Analyse meiner Daten folgendermaßen aussehen:
library(nlme)
summary(lme(Velocity_response ~ Velocity*Subject, data=scrd, random= ~1|Subject))
Das Ergebnis der Zusammenfassung lautet wie folgt:
> summary(lme(Velocity_response ~ Velocity*Subject, data=scrd, random= ~1|Subject))
Linear mixed-effects model fit by REML
Data: scrd
AIC BIC logLik
104.2542 126.1603 -30.1271
Random effects:
Formula: ~1 | Subject
(Intercept) Residual
StdDev: 2.833804 2.125353
Fixed effects: Velocity_response ~ Velocity * Subject
Value Std.Error DF t-value p-value
(Intercept) -26.99558 25.82249 20 -1.0454288 0.3083
Velocity 24.52675 19.28159 20 1.2720292 0.2180
SubjectSubject10 21.69377 27.18904 0 0.7978865 NaN
SubjectSubject11 11.31468 33.51749 0 0.3375754 NaN
SubjectSubject13 52.45966 53.96342 0 0.9721337 NaN
SubjectSubject2 -14.90571 34.16940 0 -0.4362299 NaN
SubjectSubject3 26.65853 29.41574 0 0.9062674 NaN
SubjectSubject6 37.28252 50.06033 0 0.7447517 NaN
SubjectSubject7 12.66581 26.58159 0 0.4764880 NaN
SubjectSubject8 14.28029 31.88142 0 0.4479188 NaN
SubjectSubject9 5.65504 34.54357 0 0.1637076 NaN
Velocity:SubjectSubject10 -11.89464 21.07070 20 -0.5645111 0.5787
Velocity:SubjectSubject11 -5.22544 27.68192 20 -0.1887672 0.8522
Velocity:SubjectSubject13 -41.06777 44.43318 20 -0.9242591 0.3664
Velocity:SubjectSubject2 11.53397 25.41780 20 0.4537754 0.6549
Velocity:SubjectSubject3 -19.47392 23.26966 20 -0.8368804 0.4125
Velocity:SubjectSubject6 -29.60138 41.47500 20 -0.7137162 0.4836
Velocity:SubjectSubject7 -6.85539 19.92271 20 -0.3440992 0.7344
Velocity:SubjectSubject8 -12.51390 22.54724 20 -0.5550080 0.5850
Velocity:SubjectSubject9 -2.22888 27.49938 20 -0.0810519 0.9362
Correlation:
(Intr) Velcty SbjS10 SbjS11 SbjS13 SbjcS2 SbjcS3 SbjcS6 SbjcS7 SbjcS8 SbjcS9 V:SS10 V:SS11 V:SS13 Vl:SS2 Vl:SS3
Velocity -0.993
SubjectSubject10 -0.950 0.943
SubjectSubject11 -0.770 0.765 0.732
SubjectSubject13 -0.479 0.475 0.454 0.369
SubjectSubject2 -0.756 0.751 0.718 0.582 0.362
SubjectSubject3 -0.878 0.872 0.834 0.676 0.420 0.663
SubjectSubject6 -0.516 0.512 0.490 0.397 0.247 0.390 0.453
SubjectSubject7 -0.971 0.965 0.923 0.748 0.465 0.734 0.853 0.501
SubjectSubject8 -0.810 0.804 0.769 0.624 0.388 0.612 0.711 0.418 0.787
SubjectSubject9 -0.748 0.742 0.710 0.576 0.358 0.565 0.656 0.386 0.726 0.605
Velocity:SubjectSubject10 0.909 -0.915 -0.981 -0.700 -0.435 -0.687 -0.798 -0.469 -0.883 -0.736 -0.679
Velocity:SubjectSubject11 0.692 -0.697 -0.657 -0.986 -0.331 -0.523 -0.607 -0.357 -0.672 -0.560 -0.517 0.637
Velocity:SubjectSubject13 0.431 -0.434 -0.409 -0.332 -0.996 -0.326 -0.378 -0.222 -0.419 -0.349 -0.322 0.397 0.302
Velocity:SubjectSubject2 0.753 -0.759 -0.715 -0.580 -0.360 -0.992 -0.661 -0.389 -0.732 -0.610 -0.563 0.694 0.528 0.329
Velocity:SubjectSubject3 0.823 -0.829 -0.782 -0.634 -0.394 -0.622 -0.984 -0.424 -0.799 -0.667 -0.615 0.758 0.577 0.360 0.629
Velocity:SubjectSubject6 0.462 -0.465 -0.438 -0.356 -0.221 -0.349 -0.405 -0.995 -0.449 -0.374 -0.345 0.425 0.324 0.202 0.353 0.385
Velocity:SubjectSubject7 0.961 -0.968 -0.913 -0.740 -0.460 -0.726 -0.844 -0.496 -0.986 -0.778 -0.718 0.886 0.674 0.420 0.734 0.802
Velocity:SubjectSubject8 0.849 -0.855 -0.807 -0.654 -0.406 -0.642 -0.746 -0.438 -0.825 -0.988 -0.635 0.783 0.596 0.371 0.649 0.709
Velocity:SubjectSubject9 0.696 -0.701 -0.661 -0.536 -0.333 -0.526 -0.611 -0.359 -0.676 -0.564 -0.990 0.642 0.488 0.304 0.532 0.581
Vl:SS6 Vl:SS7 Vl:SS8
Velocity
SubjectSubject10
SubjectSubject11
SubjectSubject13
SubjectSubject2
SubjectSubject3
SubjectSubject6
SubjectSubject7
SubjectSubject8
SubjectSubject9
Velocity:SubjectSubject10
Velocity:SubjectSubject11
Velocity:SubjectSubject13
Velocity:SubjectSubject2
Velocity:SubjectSubject3
Velocity:SubjectSubject6
Velocity:SubjectSubject7 0.450
Velocity:SubjectSubject8 0.398 0.828
Velocity:SubjectSubject9 0.326 0.679 0.600
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-1.47194581 -0.46509026 -0.05537193 0.39069634 1.89436646
Number of Observations: 40
Number of Groups: 10
Warning message:
In pt(q, df, lower.tail, log.p) : NaNs produced
>
Jetzt verstehe ich nicht, woher ich das R ^ 2 und die entsprechenden p-Werte bekomme, die anzeigen, ob es eine lineare Beziehung zwischen den beiden Variablen gibt oder nicht, und ich habe auch nicht verstanden, wie meine Daten mit der Linie gezeichnet werden können, die zu der passt Regression.
Kann jemand so freundlich sein, mich zu erleuchten? Ich brauche wirklich deine Hilfe Jungs ...
nlme
Paket ansehen . Durchsuchen Sie diese Site auch nach dem Thema, es wird hier viel darüber geschrieben.Antworten:
Was Sie wirklich tun, hängt von den Zielen der Analyse ab. Ich bin nicht sicher, was genau die Ziele Ihrer Analyse sind, aber ich werde einige Beispiele durchgehen, und hoffentlich wird eines davon auf Ihre Situation zutreffen.
Fall 1 : Eine quantitative Variable wird zweimal gemessen
Angenommen, Sie haben eine Studie an einem menschlichen Probanden durchgeführt, bei der die Teilnehmer zweimal einen Statistik-Test absolviert haben, und Sie wollten herausfinden, ob sich die Durchschnittswerte bei der zweiten Messung von der ersten unterscheiden (um festzustellen, ob das Lernen stattgefunden hat). Wenn die Ergebnisse test1 und test2 im Datenrahmen d gespeichert sind, können Sie dies vollständig mit der Funktion lm () tun, wie in:
Der Test des Abschnitts ist der Test der Differenz zwischen Test1 und Test2. Beachten Sie, dass Sie für den Unterschied zwischen Test1 und Test2 kein Delta-R ^ 2 haben. Stattdessen sollte Ihr Maß für die Effektgröße etwa Cohens d sein.
Fall 2a : Eine quantitative Variable, die zweimal gemessen wurde, eine dichotome Variable, die vollständig zwischen Probanden gemessen wurde
Nehmen wir an, wir haben das gleiche Studiendesign, möchten aber wissen, ob bei Männern und Frauen unterschiedliche Lernraten aufgetreten sind. Wir haben also eine quantitative Variable (Testleistung), die zweimal gemessen wird, und eine dichotome Variable, die einmal gemessen wird. Angenommen, Test1, Test2 und Geschlecht sind alle in Datenrahmen d enthalten. Wir könnten dieses Modell auch nur mit lm () testen, wie in:
Unter der Annahme, dass das Geschlecht zentriert ist (z. B. männlich = -.5 und weiblich = +.5), ist der Schnittpunkt in diesem Modell der Test der Differenz zwischen Test 1 und Test 2, gemittelt über Männer und Frauen. Der Koeffizient für das Geschlecht ist die Wechselwirkung zwischen Zeit und Geschlecht. Um die Wirkung des Geschlechts im zeitlichen Durchschnitt zu ermitteln, müssten Sie Folgendes tun:
Fall 2b : Eine quantitative Variable zweimal gemessen, eine quantitative Variable nur einmal gemessen
Nehmen wir an, wir haben wieder eine quantitative Variable, die zweimal gemessen wird, und eine quantitative Variable, die einmal gemessen wird. Nehmen wir zum Beispiel an, wir hatten ein Maß für das Basisinteresse an Statistiken und wollten feststellen, ob Personen mit einem höheren Basisinteresse von Zeit zu Zeit mehr dazu gelernt haben. Zuerst müssten wir das Interesse wie in konzentrieren :
Angenommen, test1, test2 und interestc befinden sich alle im Datenrahmen d, dann könnte diese Frage sehr ähnlich wie in Fall 1a getestet werden:
Wiederum prüft der Abschnitt in diesem Modell, ob sich die Testergebnisse, gemittelt über das Interesse, von Zeitpunkt 1 zu Zeitpunkt 2 geändert haben. Diese Interpretation gilt jedoch nur, wenn das Interesse zentriert ist. Der Zinskoeffizient gibt an, ob der Effekt der Zeit vom Basiszins abhängt. Wir könnten den über die Zeit gemittelten Effekt von Interesse erhalten, indem wir Test1 und Test 2 wie oben zusammen mitteln und den Effekt von Interesse auf diese zusammengesetzte Variable testen.
Fall 2c : Eine quantitative Variable, die zweimal gemessen wurde, eine kategoriale Variable, die nur einmal gemessen wurde
Nehmen wir an, dass Ihre Variable zwischen Subjekten eine Kategorie war, die nur einmal gemessen wurde. Nehmen wir zum Beispiel an, dass Sie interessiert waren, ob Menschen verschiedener Rassen (Weiß - Asiatisch - Schwarz - Hispanisch) von Zeit zu Zeit unterschiedlich viel gelernt haben. Angenommen, Test1, Test2 und Rennen befinden sich in Datenrahmen d müssten Sie zunächst Code Race gegenüberstellen. Dies kann mit geplanten orthogonalen Kontrasten, Dummy-Codes oder Effektcodes erfolgen, abhängig von bestimmten Hypothesen / Fragen, die Sie testen möchten (ich empfehle, lm.setContrasts () zu besuchen, wenn Sie nach einer Hilfsfunktion suchen, um dies zu tun). . Unter der Annahme, dass die Race-Variable bereits kontrastcodiert ist, würden Sie lm () sehr ähnlich wie in den beiden oben genannten Fällen verwenden:
Unter der Annahme, dass die Rassenkontraste zentriert sind, ist der Schnittpunkt in diesem Modell erneut der "Haupteffekt" der Zeit. Die Koeffizienten für die Rassenkontraste sind die Wechselwirkungen zwischen diesen Kontrasten und der Zeit. Verwenden Sie den folgenden Code, um die Omnibus-Effekte von Race zu erhalten:
Fall 3 : Eine quantitative Variable, die dreimal gemessen wurde (dh eine dreistufige Manipulation innerhalb der Probanden)
Angenommen, Sie haben dem Entwurf einen dritten Messpunkt aus dem ersten Fall hinzugefügt. Ihre Teilnehmer haben also dreimal statt zweimal einen Statistik-Test durchgeführt. Hier haben Sie einige Möglichkeiten, je nachdem, ob Sie einen Sammel-Test der Unterschiede zwischen den Zeitpunkten wünschen (manchmal auch nicht).
Angenommen, Ihre Haupthypothese lautet, dass die Testergebnisse von Zeitpunkt 1 bis Zeitpunkt 3 linear ansteigen. Angenommen, dass sich test1, test2 und test3 im Datenrahmen d befinden, könnte diese Hypothese getestet werden, indem zunächst das folgende Komposit erstellt wird:
Dann würden Sie testen, ob ein Intercept-Only-Modell, das lin als abhängige Variable verwendet, einen Intercept hat, der sich von 0 unterscheidet, wie in:
Auf diese Weise können Sie testen, ob die Statistikwerte im Laufe der Zeit gestiegen sind. Sie können natürlich auch andere Arten von benutzerdefinierten Unterschiedswerten erstellen, abhängig von Ihren speziellen Hypothesen.
Wenn Sie sich für wichtige Omnibus-Tests interessieren, müssen Sie die Funktion Anova () aus dem Autopaket verwenden. Die spezifische Implementierung ist etwas verworren. Grundsätzlich legen Sie mit lm () fest, welche Variablen innerhalb von Subjekten und welche zwischen Subjekten liegen. Anschließend erstellen Sie den Bereich innerhalb der Subjekte des Modells (dh Sie legen fest, welche Werte von Test1, Test2 und Test3 zuerst, zweitens und drittens gemessen wurden) und übergeben dieses Modell an Anova (), indem Sie einen Datenrahmen mit dem Namen idata erstellen. Mit meinem hypothetischen Beispiel:
Die idesign-Anweisung weist Anova an, die Zeitvariable (bestehend aus test1, test2 und test3) in das Modell aufzunehmen. Dieser Code gibt Ihnen einen Überblick über die Auswirkungen der Zeit auf die Testergebnisse.
Fall 4 : Eine quantitative Variable, die dreimal gemessen wurde, eine quantitative Variable zwischen den Probanden
Dieser Fall ist eine einfache Erweiterung von Fall 3. Wenn Sie sich wie oben lediglich um Tests mit einem Freiheitsgrad kümmern, können Sie einfach eine benutzerdefinierte Differenzbewertung mit Ihrer Variablen innerhalb der Probanden erstellen. Unter der Annahme, dass Test1, Test2, Test3 und Interesse alle im Datenrahmen d liegen, und unter der Annahme, dass wir an den linearen Auswirkungen der Zeit auf die Testergebnisse interessiert sind (und wie sich diese Auswirkungen der Zeit mit dem Basisinteresse ändern), würden Sie dies tun folgende:
Dann machen Sie folgendes (mit mittlerem Interesse):
Wenn Sie Omnibus-Tests durchführen möchten, gehen Sie wie folgt vor:
Andere Fälle: Ich werde diese aus Gründen der Kürze weglassen, aber es handelt sich um einfache Erweiterungen dessen, was ich bereits beschrieben habe.
Bitte beachten Sie, dass die (univariaten) Omnibus-Zeittests, bei denen die Zeit mehr als 2 Ebenen hat, alle eine Sphärizität annehmen. Diese Annahme wird ziemlich unhaltbar, wenn Sie die Anzahl der Ebenen erhöhen. Wenn Sie eine ganze Reihe von Messpunkten in Ihrem Entwurf haben (z. B. 4+), empfehle ich dringend, dass Sie eine mehrstufige Modellierung verwenden und zu einem Paket wechseln, das auf diese Technik spezialisiert ist (z. B. nlme oder lme4) .
Hoffe das hilft!
quelle