Lineare Regression und Speichern der Ergebnisse im Datenrahmen [duplizieren]

7

Ich führe eine lineare Regression für einige Variablen in einem Datenrahmen durch. Ich würde gerne in der Lage sein, die linearen Regressionen durch eine kategoriale Variable zu unterteilen, die lineare Regression für jede kategoriale Variable auszuführen und dann die t-stats in einem Datenrahmen zu speichern. Ich würde dies gerne ohne eine Schleife tun, wenn möglich.

Hier ist eine Auswahl von dem, was ich versuche zu tun:

%Vor%

Ich kann mit der folgenden linearen Regression beginnen und die t-Statistik sehr einfach herausziehen:

%Vor%

Ich würde jedoch gerne in der Lage sein, die Regression auszuführen, wenn Spalte a a, b oder c ist. Ich möchte dann die t-stats in einer Tabelle speichern, die so aussieht:

%Vor%

Ich hoffe, das macht Sinn. Bitte lassen Sie mich wissen, wenn Sie irgendwelche Vorschläge haben!

    
Trexion Kameha 19.01.2015, 17:03
quelle

5 Antworten

4

Hier ist eine Abstimmung für das plyr -Paket und ddply() .

%Vor%     
Steven 19.01.2015, 17:48
quelle
9

Hier ist eine Lösung mit dplyr und tidy() aus dem broom -Paket. tidy() konvertiert verschiedene statistische Modellausgaben (z. B. lm , glm , anova usw.) in einen sauberen Datenrahmen.

%Vor%

Oder extrahieren Sie sowohl die t-Statistik für den Achsenabschnitt als auch den Steigungsausdruck:

%Vor%     
alex23lemm 19.01.2015 21:14
quelle
4

Sie können die Funktion lmList aus dem Paket nlme verwenden, um lm auf Teilmengen von Daten anzuwenden:

%Vor%

Die Ausgabe:

%Vor%

Wenn Sie nur die t-Werte möchten, können Sie diesen Befehl verwenden:

%Vor%     
Sven Hohenstein 19.01.2015 17:40
quelle
3

Verwenden Sie split , um die Daten zu unterteilen und die Schleife nach lapply

durchzuführen %Vor%

Passen Sie das Ergebnis an Ihre Bedürfnisse an:

%Vor%     
Rentrop 19.01.2015 17:17
quelle
2

Sie könnten dies tun:

%Vor%

Ausgabe:

%Vor%

Wenn ich mich nicht irre, sind die Werte, die Sie in Ihrer Ausgabe angeben, nicht die richtigen.

Oder:

%Vor%

Wenn Sie einen data.frame und eine separate Spalte möchten.

    
LyzandeR 19.01.2015 17:16
quelle

Tags und Links