Mittel von Differenzen

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mittel von Differenzen

Beitrag von bigben »

zinbu hat geschrieben: Di Aug 11, 2020 9:19 pmHabt ihr noch einen Tipp wie ich die Werte dann wieder in ein geeignetes Format bekomme, sodass ich sie wieder in einer Tabelle den IDs zuordnen kann?
Wozu willst Du das machen? Aufgabenstellung war, die Steigungen der einen Gruppe mit den Steigungen der anderen Gruppe zu vergleichen. Du kannst meinen Vorschlag einmal auf die eine Gruppe und einmal auf die andere Gruppe anwenden und hast alle Daten für diesen Vergleich.
Wenn Du uns nach weiteren Auswertungsschritten fragen willst, oder die Situation doch komplizierter ist, dann bitte alle auf einmal auf den Tisch legen, damit wir von Anfang an eine gute Strategie verfolgen können, nicht immer wieder in kleinen Häppchen nachlegen. Das ist beliebt, stört aber eher.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
zinbu
Beiträge: 22
Registriert: Fr Mai 08, 2020 10:38 am

Re: Mittel von Differenzen

Beitrag von zinbu »

Ja stimmt du hast recht. Ich hatte nicht daran gedacht das ganze einfach 2 mal zu machen.
Zu viel um die Ecke gedacht. Danke für die Hilfe! :)
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mittel von Differenzen

Beitrag von bigben »

Im Zweifel sind zwei getrennte Durchgänge schonender für Deinen RAM.
LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
zinbu
Beiträge: 22
Registriert: Fr Mai 08, 2020 10:38 am

Re: Mittel von Differenzen

Beitrag von zinbu »

Hallo Bernhard,

ich habe mir mittlerweile mehr RAM besorgt und versuche das ganze nochmal mit der ersten Variante :) Um also nochmal auf deinen ersten Vorschlag zurückzukommen.
bigben hat geschrieben: Di Aug 11, 2020 3:56 pm Also, hier mal eine Beispiellösung. Ich habe eine Variable "time" dazu erfunden und manuell ergänzt. Sie zeigt an, wie oft eine ID schon gemessen wurde. Die Variable müsste man automatisch erzeugen, aber erstmal will ich hören, ob das so zum Problem passt:

Code: Alles auswählen

bsp <- data.frame(ID = as.factor(c(1, 1, 2, 2, 2, 2, 3, 3, 3)),
                 time = c(0, 1, 0, 1, 2, 3, 0, 1, 2),
                 score =c (13.2, 12.4, 14.7, 14, 13.2, 12.9, 13.6, 13, 12.3))
fit <- lm(score ~ ID:time + ID - 1, data = bsp)
summary(fit)
Das erzeugt für jede ID eine eigene Regressionsgerade mit einer eigenen Steigung und eine eigenen Intercept:

Code: Alles auswählen

> summary(fit)

Call:
lm(formula = score ~ ID:time + ID - 1, data = bsp)

Residuals:
       1        2        3        4        5        6        7        8        9 
 0.00000  0.00000  0.07000 -0.01000 -0.19000  0.13000 -0.01667  0.03333 -0.01667 

Coefficients:
         Estimate Std. Error t value Pr(>|t|)    
ID1      13.20000    0.14103  93.598 2.69e-06 ***
ID2      14.63000    0.11799 123.991 1.16e-06 ***
ID3      13.61667    0.12874 105.768 1.86e-06 ***
ID1:time -0.80000    0.19944  -4.011  0.02780 *  
ID2:time -0.62000    0.06307  -9.830  0.00224 ** 
ID3:time -0.65000    0.09972  -6.518  0.00734 ** 
Demnach wäre die durchschnittliche Zunahme von ID1 -0,8/Zeit, die von ID2 -0,62/Zeit und die von ID3 wäre -0,65/Zeit. Geht das in die richtige Richtung?

LG,
Bernhard
kann ich mir auch nur die Steigungen der Regressionsgeraden der einzelnen IDs ausgeben lassen? Diese möchte ich ja eigentlich vergleichen mit Mittelwerten und Graphen usw
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mittel von Differenzen

Beitrag von bigben »

Hallo!

Ich verstehe die Frage nicht, denn die Steigungen der einzelnen IDs stehen schon da. Du musst sie nur noch abschreiben. Oder geht es vielleicht darum, wie man auf diese Werte ohne Abschreiben in R einfach weiterverwenden kann?

Dann empfehle ich aus dem Paket broom die Funktion tidy oder, wenn das Installieren von broom zuviel Aufwand macht, einfach die Funktion coef.

Code: Alles auswählen

library(broom)
tidy(fit)
LG,
Bernhard

PS: Als Grafik zu meinem o. g. Beispiel dann z. B. so:

Code: Alles auswählen

library(tidy)
library(ggplot2)
ggplot(tidy(fit)[4:6,]) +
  geom_errorbar(aes(x = term, 
                    ymin = estimate - 1.96*std.error,
                    ymax = estimate + 1.96*std.error), 
                width=.1, col="darkgrey", lwd=1.5) +
  geom_point(aes(x=term, y=estimate), size=4)
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
zinbu
Beiträge: 22
Registriert: Fr Mai 08, 2020 10:38 am

Re: Mittel von Differenzen

Beitrag von zinbu »

Genau darum geht es mir, ja. Mein Datensatz ist zu groß um alles abzuschreiben.

Ich werde mich mal mit tidy befassen, danke dir!
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mittel von Differenzen

Beitrag von bigben »

Sorry, ich sehe gerade den Tippfehler in meinem Code. Die Funktion heißt tidy aber das Paket heißt broom. Nicht auch tidy.

Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten