Messwerte analysieren - Aussagekraft, Boxplot, t.test

Fragen, die sich auf kein spezielles Verfahren beziehen.

Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon aXon » Mo 19. Sep 2016, 00:58

Hallo liebe Forum-Gemeinde,

ich wende mich an euch, da ich ein paar Fragen in Bezug auf "Statistik" habe *wie vermutlich zu erwarten war* :D . Meine Vorkenntnisse beziehen sich auf ein Semester "Statistik und Datenanalyse". Ich habe von einigen Grundlagen schon mal gehört, muss allerdings zugeben, dass die Kenntnisse ein wenig eingerostet sind. :roll: Das eine Semester Statistik liegt schon etwas in der Vergangenheit (etwa 1,5 Jahre), weshalb ich zu dem Entschluss gekommen bin euch um Hilfe zu bitten. Ich würde mich riesig freuen, wenn sich jemand meine Daten ansehen könnte und ich was dabei lernen kann!

Meine Fragen beziehen sich auf meinen Datensatz und deren Aussagekraft, was die Statistik angeht. Ich benutze "R" zur Auswertung und komme in den Grundlagen zurecht (was die Bedienung angeht). Bei den Befehlen/Syntax bin ich mir allerdings nicht immer sicher. Sollte es also etwas mehr ins Thema gehen, müsste ich um eine grobe Erklärung bitten.

Mein Datensatz beinhaltet Messwerte, die einen Wendepunkt im pH-Verlauf beschreiben und weitere Randbedingungen, die den Wendepunkt beeinflussen können. Ich hoffe, es ist für euch in Ordnung (und auch hier erlaubt), dass ich ein Teil meiner Daten auf Upload hochgeladen habe. Die .csv-Datei sollte auch direkt in R einzulesen sein.
http://uploaded.net/file/liv5y9ej

Mein Ziel ist es, meine Daten mit einem Skript in "R" in einem Durchlauf komplett auswerten lassen zu können, um auch zukünftige Datensätze mit gleich aufgebauten Tabellen, jedoch anderem Inhalt, auszuwerten.

Zunächst würde ich gerne ein paar Grundlagen erfragen:

    1.) Wie viele Messwerte bräuchte ich, damit meine Messungen statische Aussagekraft besitzen?
    2.) Ich weiß, dass es sogenannte "Ausreißertest" gibt. Ist es möglich einen solchen bei meinen Daten anzuwenden und wie müsste ich vorgehen (auch in Bezug auf R)?

Sofern ich meine Daten bereinigen darf/kann, würde ich diese gerne im nächsten Schritt als Boxplots darstellen. Ich schaffe es, die Boxplots zu erstellen wobei z.B. die Wendepunkte (Hours) abgebildet werden nach Notes (Probe).
Code: Alles auswählen
Hours~Notes

Wenn ich mich richtig entsinne, werden die Inhalte von "Notes" als Faktoren bezeichnet.

    3.) Ist es möglich z.B. "Hours", "Slope" und "pH" JE Faktor in einem Diagramm darzustellen? Ich stelle es mir dann so vor, dass über Probe (auf x-Achse) dann drei separate Boxplots ("Hours,Slope und pH") angezeigt werden, über Probe2 wieder drei Boxplots ("Hours,Slope und pH") usw. In etwas so:http://blogs.sas.com/content/graphicallyspeaking/files/2013/03/VBox4.png

Solltet ihr mir bis zu diesem Punkt helfen können, wäre ich schon sehr dankbar. Nun aber zur eigentlichen Statistik. :D

Ich würde gerne meine Daten mit einem t.test oder vielleicht auch ANOVA (Varianzanalyse) hinsichtlich der Abhängigkeit der Temperatur auf den Wendepunkt testen.
Meine Hypothese lautet: Die Temperatur hat einen signifikanten Einfluss auf den Wendepunkt ("Hours"). (Ich hoffe es ist spezifisch genug?!)

Auf Normalverteilung habe ich meine Daten bereits positiv überprüfen können. Bei mir hapert es jetzt an der weiteren Vorgehensweise.

    4.) Was muss ich beachten beim t.test? Ist der t.test überhaupt der Richtige? Einseitiger t.test oder zweiseitig? (alle Fragen auch in Bezug auf R)


Sollte ich mich irgendwo unklar ausgedrückt haben oder Begriffe falsch verwendet haben, dann fragt einfach nochmal nach. Ich lerne gerne stetig dazu! Die Statistik - und alles was damit so zusammenhängt - lässt sich nicht so leicht aus dem Ärmel schütteln und daher weiß ich es auch zu schätzen, wenn sich jemand die Zeit nimmt und mir Antwortet/Hilfestellung leistet. Vielen, vielen Dank im Voraus.

Hoffentlich bis bald und "late night"-Grüße vom Schreibtisch,
aXon
aXon
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Do 15. Sep 2016, 13:59
Danke gegeben: 7
Danke bekommen: 0 mal in 0 Post

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon lilchaos » Mo 19. Sep 2016, 08:44

Hey also zu 1. und 2. habe ich leider keine Antwort,

für den plot empfehle ich dir ggplot2. Ist ziemlich verwirrend am anfang aber damit kann man eigentlich fast alles basteln. Boxplots gehen auf jeden Fall, mit dem nebeneinander pro Faktor vermutlich auch, habe ich aber bisher nur bei punktdiagrammen gemacht. Wichtig dafür ist der parameter position=position_dodge(width= XX (was auch immer gut aussieht)). Probier es mal selbst aus und wenn du hilfe brauchst melde dich.

zu 4. ich vermute zweiseitig da du da keine gezielte richtung (d.h. ist kleiner als bzw ist größer als testest) sondern nur ob es einen unterschied gibt. Aber ich bin jetzt defintiv kein statistiker also keine garantie für diese Aussage. ;)

lg
lilchaos
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Mi 22. Jun 2016, 20:11
Danke gegeben: 0
Danke bekommen: 3 mal in 3 Posts

folgende User möchten sich bei lilchaos bedanken:
aXon

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon PonderStibbons » Mo 19. Sep 2016, 10:27

[b]Meine Hypothese lautet: Die Temperatur hat einen signifikanten Einfluss auf den Wendepunkt ("Hours"). (Ich hoffe es ist spezifisch genug?!)

Was verstehst Du unter Einfluss? Je höher die Temperatur,
desto später (früher?) der Wendepunkt? Ist dabei eine lineare
Beziehung anzunehmen? Oder ist Einfluss noch anders zu
verstehen?

Und worin bestehen überhaupt die Daten, n Untersuchungen mit
jeweils 1 Temperaturangabe und 1 Wendepunkt?

Mit freundlichen Grüßen

PonderStibbons
PonderStibbons
Foren-Unterstützer
Foren-Unterstützer
 
Beiträge: 11368
Registriert: Sa 4. Jun 2011, 15:04
Wohnort: Ruhrgebiet
Danke gegeben: 51
Danke bekommen: 2504 mal in 2488 Posts

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon bele » Mo 19. Sep 2016, 15:16

Also ich komme mit diesem Download-Ding nicht zurecht. Benutze die Funktion dput() um eine Textversion Deiner Daten zu machen, die sich auch hier in das Forum kopieren lässt. Wenn die Daten sehr umfangreich sind, dann bilde eine zufällige Stichprobe von hundert oder zweihundert Zeilen und poste ein dput() davon.

aXon hat geschrieben:[list]1.) Wie viele Messwerte bräuchte ich, damit meine Messungen statische Aussagekraft besitzen?

Das hängt davon ab, was Du unter statistischer Aussagekraft verstehst. Das ist nicht immer leicht zu beantworten. Mein Vorschlag: Geh erstmal den Weg mit der visuellen Auswertung (Boxplots etc) weiter - dabei hat man oft ein besseres Gefühl dafür, ob etwas überzeugend ist oder nicht, als bei abstrakten Werten.

aXon hat geschrieben:2.) Ich weiß, dass es sogenannte "Ausreißertest" gibt. Ist es möglich einen solchen bei meinen Daten anzuwenden und wie müsste ich vorgehen (auch in Bezug auf R)?

Zu Ausreißern schlage ich vor, dass Du diesen Thread, insbesondere die ersten beiden Antworten darin, liest und Dir überlegst, wozu und warum Du das brauchst. post27901.html


aXon hat geschrieben:Wenn ich mich richtig entsinne, werden die Inhalte von "Notes" als Faktoren bezeichnet.

Ich sehe, wie gesagt, Deine Daten nicht. Aber wenn es einen dataframe gibt, der den NAmen "Daten" trägt, dann mach einfach mal
Code: Alles auswählen
str(daten)

dann ist schnell beantwortet, ob irgendwas als factor hinerlegt ist.

aXon hat geschrieben:Ist es möglich z.B. "Hours", "Slope" und "pH" JE Faktor in einem Diagramm darzustellen? Ich stelle es mir dann so vor, dass über Probe (auf x-Achse) dann drei separate Boxplots ("Hours,Slope und pH") angezeigt werden, über Probe2 wieder drei Boxplots ("Hours,Slope und pH") usw. In etwas so:http://blogs.sas.com/content/graphicallyspeaking/files/2013/03/VBox4.png

Das von Dir verlinkte Bild stellt gleichartige Werte aus verschiedenen geographischen Einheiten nebeneinander. ein pH-Wert ist aber was anderes als Stunden. Sowas würde einen Boxplot mit drei verschiedenen y-Achsen erfordern und zu unsinnigen Vergleichen ("Hours ist größer als Slope") führen. Ich kann mir nicht vorstellen, dass das gut sein sollte.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5920
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 16
Danke bekommen: 1401 mal in 1387 Posts

folgende User möchten sich bei bele bedanken:
aXon

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon aXon » Di 20. Sep 2016, 01:13

Guten Abend alle zusammen,

es ist schön zu sehen, dass sich hier so viele angesprochen fühlen, da fühlt man sich gleich gut aufgehoben.

@lilchaos
Ich habe mir heute ein paar Tutorials zu ggplot2 angesehen und ein wenig darüber gelesen. Ich bekomme Boxplots mit ggplot2 erstellt, derzeit leider aber nur einzelne Boxplots pro Faktor. Ich denke, wir sind hier aber auf der richtigen Spur. Im Anhang habe ich mein derzeitiges Script hochgeladen, vllt. hast du/ihr ja noch eine weitere Idee wie man vorgehen könnte. Über weitere Meinungen zu den Plots würde ich mich sehr freuen.
Ich muss gestehen, dass mir alle Befehle noch nicht ganz klar sind und auch die Möglichkeiten mit ggplot2 mir erst ällmählich bewusst werden, aber ich glaube eine mögliche Lösung für die gewünschte Darstellung meiner Boxplots in dem Video hier https://www.youtube.com/watch?v=J8F4cE6Sh7w bei 5:19min gefunden zu haben. Den Befehl facet_grid(.~Beispiel) habe ich bisher aber noch nicht ganz von der Anwendung her verstanden. Hier wäre ich auch über weitere Meinungen sehr dankbar. An dieser Stelle werde ich morgen weiter machen.

Code: Alles auswählen
'-- Einlesen der Daten aus .csv-Datei
    (WIchtig: Dezimaltrennzeichen in Excel . )'
data_table = read.csv(file="Statistik_Forum.csv",
                head=TRUE,
                sep =",")


#-- Überprüfen ob Faktoren und Num richtig unterschieden wurden
str(data_table)

'
#-- Boxplot erstellen
boxplot(Hours_h~Notes,
        data = data_table,
        main = "Vergleich der errechneten Wendepunkt in Stunden je Probe",
        xlab = "Name der Probe",
        ylab = "Wendepunkt in Stunden")'


#-- ggplot2 installieren
install.packages("ggplot2", dependencies=TRUE)

#-- "Cleanup" erstellen für Diagramm-Design
cleanup = theme(panel.grid.major = element_blank(),
                panel.grid.minor = element_blank(),
                panel.background = element_blank(),
                axis.line.x = element_line(color ="black"),
                text = element_text(size = 13))


#-- ggplot library laden
library(ggplot2)


#-- ggplot erstellen
data_table.box = ggplot(data_table, aes(Notes, Hours_h)) +
  data_table.box +
# facet_grid(.~Slope) +
  geom_boxplot() +
  xlab("Verwendete Probe") +
  ylab("Wendepunkt erreicht nach Stunden [Std.]") +
  cleanup
#  scale_x_discrete(labels = c("Probe_1", "Probe_2", "Probe_3"))


'Funktioniert leider nicht.'
# position=position_dodge(width = 1) +


Ich vermute zweiseitig da du da keine gezielte Richtung (d.h. ist kleiner als bzw. ist größer als testest) sondern nur ob es einen Unterschied gibt.


Das klingt soweit einleuchtend für mich, oder gibt es hier jdm. der anderer Meinung ist?


@PonderStibbons
Was verstehst Du unter Einfluss? Je höher die Temperatur, desto später (früher?) der Wendepunkt? Ist dabei eine lineare Beziehung anzunehmen? Oder ist Einfluss noch anders zu verstehen?


Unter Einfluss verstehe ich in diesem Fall nur, dass je höher die Temperatur ist, desto früher tritt der Wendepunkt ein. Es gibt sicherlich noch andere Einflüsse, wie Zellaktivität, Animpfdichte, etc. Diese habe ich jedoch als statisch gesetzt und kann sie meiner Meinung nach bei der Statistik vernachlässigen, oder?!

...und worin bestehen überhaupt die Daten, n Untersuchungen mit jeweils 1 Temperaturangabe und 1 Wendepunkt?


Korrekt. Pro Probe gibt es bis zu 8 Versuche mit einer Aufzeichnung von pH-Daten und dem Temperaturverlauf. Der Mittelwert der Temperatur wird anschließend gebildet und der Wendepunkt (ein Wendepunkt pro pH-Aufzeichnung) berechnet.


@Bernhard
Vielen Dank für den vorgeschlagenen Thread. Den werde ich mir morgen zur Gemüte führen und mich dann wieder melden. Ich werde deinen Vorschlag zunächst weiter verfolgen, in dem ich die Visualisierung der Daten probiere zu erstellen.
Bei dem Befehl str(Beispiel) klingelt es bei mir. ;) Moomeennt... *30Sekunden später* Jap, der steht hier auch in meinen Unterlagen. Meiner Meinung nach, werden die Daten richtig eingelesen.
Danke für den Hinweis mit dput(). Jetzt solltest du/ihr auch auf meine Daten zugreifen können. Sieht nicht sehr elegant aus, aber ich hoffe es hilft euch weiter. :)

Code: Alles auswählen
structure(list(Notes = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L), .Label = c("Probe 3", "Probe1",
"Probe2"), class = "factor"), Hours_h = c(8.29, 8.04, 7.33, 7.28,
7.68, 7.62, 7.34, 7.23, 7.77, 7.6, 7.58, 7.58, 7.33, 7.31, 7.39,
7.27), pH.Value_pH = c(5.41, 5.43, 5.39, 5.42, 5.31, 5.28, 5.29,
5.29, 5.31, 5.32, 5.3, 5.31, 5.46, 5.46, 5.48, 5.49), Slope = c(-0.58,
-0.57, -0.62, -0.61, -0.59, -0.61, -0.64, -0.64, -0.64, -0.66,
-0.67, -0.67, -0.79, -0.81, -0.78, -0.74), Mean_Temp = c(30.22,
30.22, 30.54, 30.54, 30.33, 30.33, 31.36, 31.36, 31.07, 31.07,
31.25, 31.25, 31.03, 31.03, 30.75, 30.75), SD_Temp = c(0.12,
0.12, 0.37, 0.37, 0.27, 0.27, 0.2, 0.2, 0.15, 0.15, 0.23, 0.23,
0.21, 0.21, 0.28, 0.28)), .Names = c("Notes", "Hours_h", "pH.Value_pH",
"Slope", "Mean_Temp", "SD_Temp"), class = "data.frame", row.names = c(NA,
-16L))



Sowas würde einen Boxplot mit drei verschiedenen y-Achsen erfordern und zu unsinnigen Vergleichen ("Hours ist größer als Slope") führen.

Ich glaube es könnte mit einer zwei Achsen bereits funktionieren. Der Wendepunkt [Hours] und pH-Wert liegen meisten zwischen 5 und 7, weshalb diese auf einer Achse angezigt werden könnten. Slope hingegen meisten bei -0,4 bis -0,7 und könnte daher auf der sekundären Achse angezigt werden. Solltest du da Bedenken habe, dann lasse ich mich da gerne überzeugen (auch aus der Sicht der Statistik).

Ich freue mich schon auf eure Antworten. Morgen bin ich dann hoffentlich auch mal zu Tageszeiten online. :D

Bis dahin und vielen Dank an euch alle,
aXon
aXon
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Do 15. Sep 2016, 13:59
Danke gegeben: 7
Danke bekommen: 0 mal in 0 Post

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon lilchaos » Di 20. Sep 2016, 08:42

Hey,

also facet ist da schon eine option. Mit facet erstellst du verschiedene plots automatisch abhängig von einer gruppierung. Also in deinem Fall bräuchtest du die Gruppen, ph slope und hour (oder was auch immer du nehmen magst) und kannst dann beim plotten sagen er soll 3 plots mittels facet erstellen die dir plots zum jeweiligen faktor anzeigen.

Nun musst du die struktur deiner matrix etwas ändern. Dazu nimmst du ein Subset in dem nur die zeilen die für den plot wichtig sind (Probe, Hours,Slope,PH) und beutzt das package reshape2. Die funktion melt (als Id.vars dann die Probe) Löst dir die matrix zu einer neuen matrix mit 3 spalten: Probe, variable (entsprechend hour, ph oder slope) und in der dritten spalte die werte.

Nun kannst du ganz einfach plotten, als minimalbeispiel:
Code: Alles auswählen
ggplot()+
geom_bar(data=meinedaten, aes=(Probe,value))+
facet_grid(.~variable)


Das gibt die dann einen plot mit 3 fenstern mit boxplots zu hour, ph und slope die du entsprechend vergleichen kannst.
Ich bin unsicher ob es bei boxplots geht, aber wenn du es ohne facet machen willst sondern so wie du vorgeschlagen hast mit allen boxplots in einem plot versuche es mal mit

Code: Alles auswählen
ggplot()+
geom_bar(data=meinedaten, aes=(Probe,value,col=variable))


statt col kannst du auch fill nehmen. Position brauchst du nicht, scheinbar geht es beim boxplot automatisch dass er nebeneinander plottet ;)

Hoffe das hilt dir zumindest mit deinen plot. Für die statistik sind die anderen zuständig ^^
lilchaos
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Mi 22. Jun 2016, 20:11
Danke gegeben: 0
Danke bekommen: 3 mal in 3 Posts

folgende User möchten sich bei lilchaos bedanken:
aXon

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon mango » Di 20. Sep 2016, 14:25

Hallo, zu Frage 1 (da anscheinend noch nicht beantwortet): Du kannst mit der sog. Poweranalyse berechnen, wie groß eine Stichprobe sein sollte, um an ihr mit einer bestimmten Wahrscheinlichkeit einen Effekt vorgegebener Größe nachweisen zu können. Wie gut das mit R geht, weiß ich nicht. Es gibt jedoch ein sehr einfaches Tool namens GPower, das man kostenlos im Netz findet.

Zu Frage 4: Ja, du solltest zweiseitig testen. Bei wissenschaftlichen Fragestellungen ist das die Regel, da diese (konservativere) Variante davon ausgeht, dass ein Effekt in beliebiger Richtung auf einem vorher festgelegten Signifikanzniveau nachgewiesen werden werden soll.
mango
Elite
Elite
 
Beiträge: 330
Registriert: Fr 2. Mai 2014, 16:55
Danke gegeben: 3
Danke bekommen: 55 mal in 55 Posts

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon bele » Di 20. Sep 2016, 15:29

Hi,

mein Ratschlag wäre ein anderer gewesen: Es ist am Anfang schwer genug, R und Statistik gleichzeitig zu lernen. Innerhalb von R gibt es dann nochmal eine Reihe eigener Domain-spezifischer Sprachen, die je für sich kompliziert genug sind (ich denke da an ggplot2, data.table, regex, dplyr, magrittr...). Die Gefahr, sich zwischen all diesen Zusätzen mit ihren je eigenen Syntaxregeln zu verlieren ist hoch. Ich rate Anfängern daher, zunächst einmal R und das mit R ausgelieferte Grafiksystem zu erlernen. Aber das ist Geschmackssache.

Ich hoffe, der Datensatz ist in Wirklichkeit deutlich größer als die in der dput-Ausgabe dargestellten 16 Zeilen. Für die Nicht-R'ler im Forum, hier einmal der komplette oben verfügbar gemachte Datensatz:
Code: Alles auswählen
     Notes Hours_h pH.Value_pH Slope Mean_Temp SD_Temp
1   Probe1    8.29        5.41 -0.58     30.22    0.12
2   Probe1    8.04        5.43 -0.57     30.22    0.12
3   Probe1    7.33        5.39 -0.62     30.54    0.37
4   Probe1    7.28        5.42 -0.61     30.54    0.37
5   Probe1    7.68        5.31 -0.59     30.33    0.27
6   Probe1    7.62        5.28 -0.61     30.33    0.27
7   Probe1    7.34        5.29 -0.64     31.36    0.20
8   Probe1    7.23        5.29 -0.64     31.36    0.20
9   Probe2    7.77        5.31 -0.64     31.07    0.15
10  Probe2    7.60        5.32 -0.66     31.07    0.15
11  Probe2    7.58        5.30 -0.67     31.25    0.23
12  Probe2    7.58        5.31 -0.67     31.25    0.23
13 Probe 3    7.33        5.46 -0.79     31.03    0.21
14 Probe 3    7.31        5.46 -0.81     31.03    0.21
15 Probe 3    7.39        5.48 -0.78     30.75    0.28
16 Probe 3    7.27        5.49 -0.74     30.75    0.28


Und hier ein paar Vorschläge von mir, die Du Dir so in R Copy-Pasten kannst:

Code: Alles auswählen
daten = structure(
  list(
    Notes = structure(
      c(2L, 2L, 2L, 2L, 2L, 2L, 2L,
        2L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L), .Label = c("Probe 3", "Probe1",
                                                        "Probe2"), class = "factor"
    ), Hours_h = c(
      8.29, 8.04, 7.33, 7.28,
      7.68, 7.62, 7.34, 7.23, 7.77, 7.6, 7.58, 7.58, 7.33, 7.31, 7.39,
      7.27
    ), pH.Value_pH = c(
      5.41, 5.43, 5.39, 5.42, 5.31, 5.28, 5.29,
      5.29, 5.31, 5.32, 5.3, 5.31, 5.46, 5.46, 5.48, 5.49
    ), Slope = c(
      -0.58,-0.57,-0.62,-0.61,-0.59,-0.61,-0.64,-0.64,-0.64,-0.66,-0.67,-0.67,-0.79,-0.81,-0.78,-0.74
    ), Mean_Temp = c(
      30.22,
      30.22, 30.54, 30.54, 30.33, 30.33, 31.36, 31.36, 31.07, 31.07,
      31.25, 31.25, 31.03, 31.03, 30.75, 30.75
    ), SD_Temp = c(
      0.12,
      0.12, 0.37, 0.37, 0.27, 0.27, 0.2, 0.2, 0.15, 0.15, 0.23, 0.23,
      0.21, 0.21, 0.28, 0.28
    )
  ), .Names = c(
    "Notes", "Hours_h", "pH.Value_pH",
    "Slope", "Mean_Temp", "SD_Temp"
  ), class = "data.frame", row.names = c(NA,-16L)
)


par(mfrow=c(3,1), mar = c(3,3,1,1))
boxplot(daten$Hours_h ~ daten$Notes, xlab="Probe", ylab ="Stunden")
boxplot(daten$Slope ~ daten$Notes, xlab="Probe", ylab ="Steigung")
boxplot(daten$pH.Value_pH ~ daten$Notes, , xlab="Probe", ylab ="pH-Wert")


dev.new()
plot(Hours_h ~ Mean_Temp, pch = as.numeric(Notes), data = daten,
     xlab="Temperatur", ylab="Stunden")


cor.test(daten$Mean_Temp, daten$Hours_h)


regressionsmodell <- lm(Hours_h ~ Mean_Temp + Notes, data = daten)
print(summary(regressionsmodell))


Ich fahre morgen für den Rest der Woche für einen Kongress weg und weiß noch nicht, ob ich solange ansprechbar bin. Kannst ja mal grübeln, was das alles sagen soll und ob die Grafiken Dir so gefallen. Wie gesagt, verschiedenartige Boxplots in eine Grafik finde ich nicht gut, deshalb hier die drei übereinander.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5920
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 16
Danke bekommen: 1401 mal in 1387 Posts

folgende User möchten sich bei bele bedanken:
aXon

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon aXon » Di 20. Sep 2016, 23:47

Guten Abend alle zusammen,
hier war ja heute wieder gut was los. Freut mich sehr!


@lilchaos
Deine Erklärungen haben wir gut weitergeholfen. Dank deiner Beschreibung habe ich es geschafft den Plot zu erstellen. Mit der Darstellung war ich heute Nachmittag soweit schon zufrieden und hatte wirkliche Erfolgserlebnisse, bis dann Bernhards Beitrag plötzlich aufploppte. :P

@Bernhard
Du hast den Nagel ganz gut auf den Kopf getroffen. Ich kann mich - guten Gewissens - als blutigen Anfänger bezeichnen und der Umgang mit R und die Syntaxregeln benötigt noch jedes Mal viel Zeit. Daher möchte ich deinen Vorschlag annehmen und es mit "normalen" Boxplots probieren. Wie ich heute Nachmittag dann freudig feststellen konnte, hast du anscheinend schon ein wenig Programmierarbeit geleistet und auch gleich ein/zwei Test angehängt. Ich habe die vorgeschlagenen Plots von dir ausprobiert und war positiv überrascht. Die Plotdarstellung ist schön übersichtlich und "leicht" verständlich. Ich habe das gesamte Verfahren auf meine vollständigen Messreihen übertragen und auch dort bin ich mit dem Ergenis sehr zufrieden.
Abschließend kann hier festgehalten werden: Vorschlag angenommen! Es werden klassische Boxplots. ;)

Nun zum spaßigen Thema - Statistik. Ich muss ehrlich zugeben, dass ich mit den Aussagen der Tests noch nicht viel Anfangen kann und würde mich über die Beispielhafte Deutung der vielen Parameter sehr freuen. Wofür sind die Test zum Beispiel gut?


Der cor.test steht wohl für einen Korrelationstest. Mit anderen Worten, es wird hier die Abhängigkeit der Stunde des Wendepunktes betrachtet von der Temperatur betrachtet.

t = Was bedeutet der neagtive Wert hier und kann dieser auch positiv sein?
df = War das der Umfang der Stichhprobe?
p-value = p < 0,05 beeutet, dass ein signifikater Einfluss der Temperatur auf den Wendepunkt besteht. Wir sprechen hier also nicht von einem Zufall. Die Chache, dass es doch Zufall war beträgt dennoch 5%, da wir als Konfidenzintervall Alpha = 95% angenommen haben, richtig?

Der Rest aus dem folgenden Code sagt mir leider nichts.
Code: Alles auswählen
> cor.test(daten$Mean_Temp, daten$Hours_h)

   Pearson's product-moment correlation

data:  daten$Mean_Temp and daten$Hours_h
t = -2.2787, df = 14, p-value = 0.03889
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.8076139 -0.0329249
sample estimates:
      cor
-0.520141



Über Erklärung zum Regressionsmodell würde ich mich auch sehr freuen.
Code: Alles auswählen
> print(summary(regressionsmodell))

Call:
lm(formula = Hours_h ~ Mean_Temp + Notes, data = daten)

Residuals:
     Min       1Q   Median       3Q      Max
-0.36040 -0.09348 -0.00390  0.08268  0.47678

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  24.0072     5.2512   4.572 0.000641 ***
Mean_Temp    -0.5401     0.1700  -3.178 0.007957 **
NotesProbe1   0.1264     0.1439   0.878 0.397062   
NotesProbe2   0.4533     0.1636   2.771 0.016915 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.222 on 12 degrees of freedom
Multiple R-squared:  0.558,   Adjusted R-squared:  0.4475
F-statistic:  5.05 on 3 and 12 DF,  p-value: 0.01721


Warum diese Tests und kein t.test? Welche Unterschiede gibt es und wie wäre meine Argumentation, wenn ich begründen sollte, warum ich gearde die oben verwendeten Test durchgeführt habe? Müssen noch weitere Test durchgeführt werden, damit das ganze wasserdicht handhaben zu können? Ich erinnere mich, dass wir zum Beipsiel in der Uni immer unterscheiden sollten, ob t.test oder ANOVA zu verwenden sei, anschließend sollte dann noch ein TukeyHSDdurchgeführt werden, wenn p<Alpha war.

Deine Kongress-Woche klingt spannend. Hoffe es wird nicht zu stressig und würde mich natürlich auch sehr freuen von dir hier wieder zu hören, ...ähhh lesen. :)

@Bernhard und @lilchaos
Ihr habt mir beide schon sehr gut weitergeholfen und habt anscheindend auch ein Verständnis für R. Ich würde meinen entstanden Plot jetzt gerne noch ein wenig "aufhübschen" und wäre euch sehr dankbar für weitere Ideen.

Folgendes würde ich gerne beeinflussen (sofern möglich):
• jeder Boxplot Zeile jeweils den Namen der geplotteten Werte hinzufügen (Erste Zeile Boxplots: Stunden, zweite Zeile pH-Werte und dritte Zeile Steigung)
• Als zweite Boxplotzeile würde ich gerne nicht die Steigung angezeigt bekommen, sondern die pH-Werte (quasie Zeile 2 mit drei tauschen)
• Alls Boxplots einer Probe mit der gleichen Farbe definieren (am besten anhand von HEX-Zahlen)
• Probe1 würde ich gerne mit Probe 3 in der Darstellung tauschen

Weitere Schönheits-OP's an Boxplots sind gerne gesehen und Vorschläge werden freudig entgegen genommen.

@mango
Vielen Dnak für deine Aussagen zu den noch offenen Fragen. Die Ausreßergeschichte muss ich mir nochmal genauer ansehen. Bei dem t.test habe ich jetzt auch eine genauere Vorstellung,bin mir aber im Moment nicht sicher, ob ich den noch durchführen muss. Ich bin gespannt was ihr dazu so sagt.

Bis morgen Nachmittag oder morgen Abend. Vielen Dank für die schöne Zusammenarbeit.
Grüße
aXon
aXon
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Do 15. Sep 2016, 13:59
Danke gegeben: 7
Danke bekommen: 0 mal in 0 Post

Re: Messwerte analysieren - Aussagekraft, Boxplot, t.test

Beitragvon lilchaos » Mi 21. Sep 2016, 08:17

Hey,

bernhard hat da wohl recht, aber zugegebenermaßen habe ich R plots direkt übersprungen udn bin zu ggplot2 übergegangen da ich wohl einen ziemlich hohen anspruch an meine Plots hatte ;) es ist wirklich am Anfang ein riesiger Kampf aber wenn man mal wirklich verstanden hat was ggplot tut und vorallem wie dann merkt man dass man so ziemlich alles tun kann ^^. Daher die Vorwarnung, ich kenne R relativ gut aber habe selten mit R geplottet :?

Wenn ich dich richtig verstehe möchtest du dass die Plots überschriften haben? Dazu fügst du ein main ein hier mal für den ersten plot exemplarisch:
Code: Alles auswählen
boxplot(daten$Hours_h ~ daten$Notes, xlab="Probe", ylab ="Stunden", main="Stunden") #boxplot 1
boxplot(daten$Slope ~ daten$Notes, xlab="Probe", ylab ="Steigung")
boxplot(daten$pH.Value_pH ~ daten$Notes, , xlab="Probe", ylab ="pH-Wert")


um 2 und 3 zu tauschen schau dir doch mal den code an und wann geplottet wird. der erste plot ist plot nr. 1 die anderen werden in entsprechender reihenfolge geplottet. dh du musst nur die reihenfolge der plots ändern ;)

Bei Fragen her damit ;) (Und es bleibt dabei Statistik muss dir jemand anderes beantworten da bin ich leider zieeemlich raus :oops: )
lilchaos
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Mi 22. Jun 2016, 20:11
Danke gegeben: 0
Danke bekommen: 3 mal in 3 Posts

folgende User möchten sich bei lilchaos bedanken:
aXon

Nächste

Zurück zu Allgemeine Fragen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 Gäste

cron