Abhängigkeiten in R (Melanoma)
Abhängigkeiten in R (Melanoma)
Guten Morgen Zusammen,
ich verzweifle hier langsam ein wenig... Wir müssen Aufgaben in R berechnen, vielleicht kennt ihr die Aufgaben ja, zum Datensatz "melanoma"...
Ich hab jedenfalls einigermaßen die ersten 4 Aufgaben hin bekommen (so halbwegs), aber für die letzten beiden, finde ich ich nicht die richtige Formel.
Und zwar soll bei der 5. Aufgaben mit einem geeigneten Verfahren bestimmt werden, ob die Überlebenszeit (time) vom Alter (age), Geschlecht (sex), Dicke des Tumors (thickness) und dem Vorhandenseins eines Geschwürs (ulcer) abhängt, dabei soll der Datensatz auf die Patienten mit dem Status 1 (am Melanom verstorben) eingeschränkt werden. Egal was ich probiere, ich bekomme rote Fehlermeldungen, ich weiß einfach nicht wie ich mehr als zwei Variable in einen Zusammenhang setzen kann...
Die Aufgabe 6 ist ähnlich, es soll bestimmt werden, ob das Überleben der Patienten nach der Operation (status = 1 oder 2) vom Alter (age), Geschlecht (sex), Dicke des Tumors (thickness) und dem Vorhandenseins eines Geschwürs (ulcer) abhängt, diesmal einschränken nach Status 1 (am Melanom verstorben) und 2 (lebt noch) ein.
Kann mir jemand weiterhelfen? Oder mich in die richtige richtung weisen...?
Liebe Grüße,
Duchess
Ps. hier nochmal alle Attribute:
time -> Überlebenszeit in Tagen nach der Operation
status -> Patientenstatus am Ende der Studie (Ende 1977):
1 – am Melanom verstorben
2 – lebt noch
3 – an einer anderen Ursache als dem Melanom verstorben
sex -> Geschlecht des Patienten:
0 – Frau
1 – Mann
age -> Alter des Patienten in Jahren zum Zeitpunkt der Operation
year -> Jahr, in dem die Operation durchgeführt worden ist
thickness -> Dicke des Tumors in mm
ulcer -> Liegt ein Geschwür vor:
0 – nein
1 – ja
ich verzweifle hier langsam ein wenig... Wir müssen Aufgaben in R berechnen, vielleicht kennt ihr die Aufgaben ja, zum Datensatz "melanoma"...
Ich hab jedenfalls einigermaßen die ersten 4 Aufgaben hin bekommen (so halbwegs), aber für die letzten beiden, finde ich ich nicht die richtige Formel.
Und zwar soll bei der 5. Aufgaben mit einem geeigneten Verfahren bestimmt werden, ob die Überlebenszeit (time) vom Alter (age), Geschlecht (sex), Dicke des Tumors (thickness) und dem Vorhandenseins eines Geschwürs (ulcer) abhängt, dabei soll der Datensatz auf die Patienten mit dem Status 1 (am Melanom verstorben) eingeschränkt werden. Egal was ich probiere, ich bekomme rote Fehlermeldungen, ich weiß einfach nicht wie ich mehr als zwei Variable in einen Zusammenhang setzen kann...
Die Aufgabe 6 ist ähnlich, es soll bestimmt werden, ob das Überleben der Patienten nach der Operation (status = 1 oder 2) vom Alter (age), Geschlecht (sex), Dicke des Tumors (thickness) und dem Vorhandenseins eines Geschwürs (ulcer) abhängt, diesmal einschränken nach Status 1 (am Melanom verstorben) und 2 (lebt noch) ein.
Kann mir jemand weiterhelfen? Oder mich in die richtige richtung weisen...?
Liebe Grüße,
Duchess
Ps. hier nochmal alle Attribute:
time -> Überlebenszeit in Tagen nach der Operation
status -> Patientenstatus am Ende der Studie (Ende 1977):
1 – am Melanom verstorben
2 – lebt noch
3 – an einer anderen Ursache als dem Melanom verstorben
sex -> Geschlecht des Patienten:
0 – Frau
1 – Mann
age -> Alter des Patienten in Jahren zum Zeitpunkt der Operation
year -> Jahr, in dem die Operation durchgeführt worden ist
thickness -> Dicke des Tumors in mm
ulcer -> Liegt ein Geschwür vor:
0 – nein
1 – ja
Re: Abhängigkeiten in R (Melanoma)
Hallo Duchess,
willkommen im Forum!
https://stat.ethz.ch/R-manual/R-devel/l ... anoma.html
Zeig uns bitte, was Du bisher programmiert hast, und zeige auch die Fehlermeldungen
Gruß, Jörg
willkommen im Forum!
Nein, den kenne ich nicht. Deshalb habe ich etwas gegoogelt ... ist es dieser Datensatz:theDuchess hat geschrieben: ↑Mi Dez 19, 2018 9:31 am ich verzweifle hier langsam ein wenig... Wir müssen Aufgaben in R berechnen, vielleicht kennt ihr die Aufgaben ja, zum Datensatz "melanoma"...
https://stat.ethz.ch/R-manual/R-devel/l ... anoma.html
Zeig uns bitte, was Du bisher programmiert hast, und zeige auch die Fehlermeldungen
Gruß, Jörg
Re: Abhängigkeiten in R (Melanoma)
Hallo Jörg,
zunächst vielen Dank für die schnelle Antwort, da hab ich gar nicht mit gerechnet
Genau der Datensatz ist es, danke dass du dir sogar die Mühe gemacht hast danach zu googlen.
Also mein Code bisher:
install.packages("boot", dependencies=TRUE)
data(melanoma, package="boot")
get_all_vars(melanoma)
mean(melanoma$time) # Mittelwert
mean(melanoma$status)
mean(melanoma$sex)
mean(melanoma$age)
mean(melanoma$thickness)
mean(melanoma$ulcer)
var(melanoma$time) # Standardabweichung
var(melanoma$status)
var(melanoma$sex)
var(melanoma$age)
var(melanoma$thickness)
var(melanoma$ulcer)
median(melanoma$time) # Median
median(melanoma$status)
median(melanoma$sex)
median(melanoma$age)
median(melanoma$thickness)
median(melanoma$ulcer)
quantile(melanoma$time, probs =0.25) # unteres Quartil
quantile(melanoma$status, probs =0.25)
quantile(melanoma$sex, probs =0.25)
quantile(melanoma$age, probs =0.25)
quantile(melanoma$thickness, probs =0.25)
quantile(melanoma$ulcer, probs =0.25)
quantile(melanoma$time, probs =0.75) # oberes Quartil
quantile(melanoma$status, probs =0.75)
quantile(melanoma$sex, probs =0.75)
quantile(melanoma$age, probs =0.75)
quantile(melanoma$thickness, probs =0.75)
quantile(melanoma$ulcer, probs =0.75)
min(melanoma$time) # Minimum
min(melanoma$status)
min(melanoma$sex)
min(melanoma$age)
min(melanoma$thickness)
min(melanoma$ulcer)
max(melanoma$time) # Maximum
max(melanoma$status)
max(melanoma$sex)
max(melanoma$age)
max(melanoma$thickness)
max(melanoma$ulcer)
table(melanoma$time) # Häufigkeitsverteilungen
table(melanoma$status)
table(melanoma$sex)
table(melanoma$age)
table(melanoma$thickness)
table(melanoma$ulcer)
barplot(melanoma$age) # Aufgabe 2
plot(melanoma$age)
barplot(melanoma$thickness)
plot(melanoma$thickness)
plot(melanoma$time, melanoma$thickness) # Aufgabe 3
boxplot(melanoma$time, melanoma$thickness)
plot(time~thickness, data = melanoma[melanoma$status==1,])
boxplot(time~thickness, data = melanoma[melanoma$status==1,])
plot(melanoma$time, melanoma$sex) # Aufgabe 4
boxplot(melanoma$time, melanoma$sex)
boxplot(time~sex, data = melanoma[melanoma$status==1,])
plot(time~sex, data = melanoma[melanoma$status==1,])
plot(melanoma$time, melanoma$age, melanoma$sex, #Aufgabe 5
melanoma$thickness, melanoma$ulcer)
boxplot(time~sex~age~thickness, data = melanoma[melanoma$status==1,])
plot(time~sex, data = melanoma[melanoma$status==1,])
Und hier die Fehlermeldungen (nur von meinen Versuchen in Aufgabe 5)
>
>
> plot(melanoma$time, melanoma$sex, melanoma$ulcer) # Aufgabe 5
Error in plot.xy(xy, type, ...) : ungültiger Plottyp
> plot(melanoma$time, melanoma$sex, melanoma$ulcer) # Aufgabe 5
Error in plot.xy(xy, type, ...) : ungültiger Plottyp
> boxplot(time~sex~age~thickness, data = melanoma[melanoma$status==1,])
Error in model.frame.default(formula = time ~ sex ~ age ~ thickness, data = melanoma[melanoma$status == :
object is not a matrix
In addition: Warning messages:
1: In doTryCatch(return(expr), name, parentenv, handler) :
display list redraw incomplete
2: In doTryCatch(return(expr), name, parentenv, handler) :
display list redraw incomplete
> plot(melanoma$time, melanoma$sex, melanoma$ulcer)
Error in plot.xy(xy, type, ...) : ungültiger Plottyp
> boxplot(melanoma$time, melanoma$sex)
> boxplot(melanoma$time, melanoma$sex, melanome$ulcer)
Error in boxplot.default(melanoma$time, melanoma$sex, melanome$ulcer) :
object 'melanome' not found
> boxplot(melanoma$time, melanoma$sex, melanom$ulcer)
> boxplot(melanoma$time, melanoma$sex, melanoma$ulcer)
> boxplot(melanoma$time, melanoma$age, melanoma$sex, melanoma$thickness, melanoma$ulcer)
> plot(melanoma$time, melanoma$age, melanoma$sex, melanoma$thickness, melanoma$ulcer)
Error in plot.window(...) : ungültiger 'xlim' Wert
> barplot(melanoma$time, melanoma$age, melanoma$sex, melanoma$thickness, melanoma$ulcer)
> plot(melanoma$time, melanoma$age, melanoma$sex,
+ melanoma$thickness, melanoma$ulcer)
Error in plot.window(...) : ungültiger 'xlim' Wert
... ich muss aber zugeben, ich würde da jetzt nichts raus lesen können, ich hoffe ihr Profis erkennt daraus irgendwie mein Problem
zunächst vielen Dank für die schnelle Antwort, da hab ich gar nicht mit gerechnet
Genau der Datensatz ist es, danke dass du dir sogar die Mühe gemacht hast danach zu googlen.
Also mein Code bisher:
install.packages("boot", dependencies=TRUE)
data(melanoma, package="boot")
get_all_vars(melanoma)
mean(melanoma$time) # Mittelwert
mean(melanoma$status)
mean(melanoma$sex)
mean(melanoma$age)
mean(melanoma$thickness)
mean(melanoma$ulcer)
var(melanoma$time) # Standardabweichung
var(melanoma$status)
var(melanoma$sex)
var(melanoma$age)
var(melanoma$thickness)
var(melanoma$ulcer)
median(melanoma$time) # Median
median(melanoma$status)
median(melanoma$sex)
median(melanoma$age)
median(melanoma$thickness)
median(melanoma$ulcer)
quantile(melanoma$time, probs =0.25) # unteres Quartil
quantile(melanoma$status, probs =0.25)
quantile(melanoma$sex, probs =0.25)
quantile(melanoma$age, probs =0.25)
quantile(melanoma$thickness, probs =0.25)
quantile(melanoma$ulcer, probs =0.25)
quantile(melanoma$time, probs =0.75) # oberes Quartil
quantile(melanoma$status, probs =0.75)
quantile(melanoma$sex, probs =0.75)
quantile(melanoma$age, probs =0.75)
quantile(melanoma$thickness, probs =0.75)
quantile(melanoma$ulcer, probs =0.75)
min(melanoma$time) # Minimum
min(melanoma$status)
min(melanoma$sex)
min(melanoma$age)
min(melanoma$thickness)
min(melanoma$ulcer)
max(melanoma$time) # Maximum
max(melanoma$status)
max(melanoma$sex)
max(melanoma$age)
max(melanoma$thickness)
max(melanoma$ulcer)
table(melanoma$time) # Häufigkeitsverteilungen
table(melanoma$status)
table(melanoma$sex)
table(melanoma$age)
table(melanoma$thickness)
table(melanoma$ulcer)
barplot(melanoma$age) # Aufgabe 2
plot(melanoma$age)
barplot(melanoma$thickness)
plot(melanoma$thickness)
plot(melanoma$time, melanoma$thickness) # Aufgabe 3
boxplot(melanoma$time, melanoma$thickness)
plot(time~thickness, data = melanoma[melanoma$status==1,])
boxplot(time~thickness, data = melanoma[melanoma$status==1,])
plot(melanoma$time, melanoma$sex) # Aufgabe 4
boxplot(melanoma$time, melanoma$sex)
boxplot(time~sex, data = melanoma[melanoma$status==1,])
plot(time~sex, data = melanoma[melanoma$status==1,])
plot(melanoma$time, melanoma$age, melanoma$sex, #Aufgabe 5
melanoma$thickness, melanoma$ulcer)
boxplot(time~sex~age~thickness, data = melanoma[melanoma$status==1,])
plot(time~sex, data = melanoma[melanoma$status==1,])
Und hier die Fehlermeldungen (nur von meinen Versuchen in Aufgabe 5)
>
>
> plot(melanoma$time, melanoma$sex, melanoma$ulcer) # Aufgabe 5
Error in plot.xy(xy, type, ...) : ungültiger Plottyp
> plot(melanoma$time, melanoma$sex, melanoma$ulcer) # Aufgabe 5
Error in plot.xy(xy, type, ...) : ungültiger Plottyp
> boxplot(time~sex~age~thickness, data = melanoma[melanoma$status==1,])
Error in model.frame.default(formula = time ~ sex ~ age ~ thickness, data = melanoma[melanoma$status == :
object is not a matrix
In addition: Warning messages:
1: In doTryCatch(return(expr), name, parentenv, handler) :
display list redraw incomplete
2: In doTryCatch(return(expr), name, parentenv, handler) :
display list redraw incomplete
> plot(melanoma$time, melanoma$sex, melanoma$ulcer)
Error in plot.xy(xy, type, ...) : ungültiger Plottyp
> boxplot(melanoma$time, melanoma$sex)
> boxplot(melanoma$time, melanoma$sex, melanome$ulcer)
Error in boxplot.default(melanoma$time, melanoma$sex, melanome$ulcer) :
object 'melanome' not found
> boxplot(melanoma$time, melanoma$sex, melanom$ulcer)
> boxplot(melanoma$time, melanoma$sex, melanoma$ulcer)
> boxplot(melanoma$time, melanoma$age, melanoma$sex, melanoma$thickness, melanoma$ulcer)
> plot(melanoma$time, melanoma$age, melanoma$sex, melanoma$thickness, melanoma$ulcer)
Error in plot.window(...) : ungültiger 'xlim' Wert
> barplot(melanoma$time, melanoma$age, melanoma$sex, melanoma$thickness, melanoma$ulcer)
> plot(melanoma$time, melanoma$age, melanoma$sex,
+ melanoma$thickness, melanoma$ulcer)
Error in plot.window(...) : ungültiger 'xlim' Wert
... ich muss aber zugeben, ich würde da jetzt nichts raus lesen können, ich hoffe ihr Profis erkennt daraus irgendwie mein Problem
Re: Abhängigkeiten in R (Melanoma)
Hallo Duchess,
generieren können.
Was möchtest Du denn erreichen?
Da boxplot(time~sex+age+thickness, data = melanoma[melanoma$status==1,]) zu unübersichtlich ist, soll eventuell für jede der Variablen auf der rechten Seite ein extra Boxplot erstellt werden - bezüglich age und thickness lässt sich kein Boxplot erstellen (es sind kontinuierliche Variablen).
Gruß, Jörg
p.s.:
einen merklichen Teil der Ergebnisse hättest Du auch mittheDuchess hat geschrieben: ↑Mi Dez 19, 2018 10:53 am Genau der Datensatz ist es, danke dass du dir sogar die Mühe gemacht hast danach zu googlen.
Also mein Code bisher:
...
Code: Alles auswählen
data(melanoma, package="boot")
summary(melanoma)
Das ist klar, denn plot() kann nur xy-Diagramme.Code: Alles auswählen
> plot(melanoma$time, melanoma$sex, melanoma$ulcer) # Aufgabe 5 Error in plot.xy(xy, type, ...) : ungültiger Plottyp
Was möchtest Du denn erreichen?
ich habe meine Zweifel, ob boxplot() so eine Formel akzeptier. Üblicherweise ist in den Formeln nur ein '~', z.B.Code: Alles auswählen
> boxplot(time~sex~age~thickness, data = melanoma[melanoma$status==1,]) Error in model.frame.default(formula = time ~ sex ~ age ~ thickness, data = melanoma[melanoma$status == : object is not a matrix In addition: Warning messages: 1: In doTryCatch(return(expr), name, parentenv, handler) : display list redraw incomplete 2: In doTryCatch(return(expr), name, parentenv, handler) : display list redraw incomplete
Code: Alles auswählen
boxplot(time~sex, data = melanoma[melanoma$status==1,])
manchmal hilft es auch, sich die Beispiele zu den Funktionen anzusehen:... ich muss aber zugeben, ich würde da jetzt nichts raus lesen können, ich hoffe ihr Profis erkennt daraus irgendwie mein Problem
Code: Alles auswählen
example(boxplot)
p.s.:
Code: Alles auswählen
summary(aov(time ~ sex + age + year + thickness + ulcer, data=melanoma))
Re: Abhängigkeiten in R (Melanoma)
Guten Morgen Jörg,
wie kann ich mir denn mehrere Boxplots nebeneinander aufrufen?
Ich hab angenommen, es gäbe ein Grafik, wo ich mehr als nur zwei Variablem vergleichen kann.
Also die Aufgabe lautet ja "Bestimmen Sie mit einem geeigneten Verfahren (ich dachte es müsse eine Grafik sein...?), ob die Überlebenszeit (time) vom Alter (age), Geschlecht (sex), Dicke des Tumors (thickness) und dem Vorhandenseins eines Geschwürs (ulcer) abhängt. Schränken Sie dazu den Datensatz wieder auf die Patienten mit dem Status 1 (am Melanom verstorben) ein."
Also wäre diese Aufgabe eher ein Vergleich zwischen verschiedenen Grafiken, zb. erst "time" und "sex" ins Verhältnis setzen, dann "time" und "ulcer", und als drittes "sex" und "ulcer"? Aber wenn ich age und thickness nicht in einem Boxplot darstellen kann, was hab ich denn dann für andere Möglichkeiten diese Aufgabe zu lösen, so dass alle Variablen betrachtet werden können?
Und ich hab "summary(aov(time ~ sex + age + year + thickness + ulcer, data=melanoma))" ausprobiert, aber verstehe nicht, was das Ergebnis aussagt... Was sagt mir Sum Sq, Mean Sq, Value und Pr(>)?
Df Sum Sq Mean Sq F value Pr(>F)
sex 1 5512308 5512308 6.893 0.00933 **
age 1 21927667 21927667 27.419 4.15e-07 ***
year 1 49409546 49409546 61.784 2.37e-13 ***
thickness 1 14647126 14647126 18.315 2.91e-05 ***
ulcer 1 6199316 6199316 7.752 0.00588 **
Residuals 199 159144146 799719
Viele Grüße,
Sarah
wie kann ich mir denn mehrere Boxplots nebeneinander aufrufen?
Ich hab angenommen, es gäbe ein Grafik, wo ich mehr als nur zwei Variablem vergleichen kann.
Also die Aufgabe lautet ja "Bestimmen Sie mit einem geeigneten Verfahren (ich dachte es müsse eine Grafik sein...?), ob die Überlebenszeit (time) vom Alter (age), Geschlecht (sex), Dicke des Tumors (thickness) und dem Vorhandenseins eines Geschwürs (ulcer) abhängt. Schränken Sie dazu den Datensatz wieder auf die Patienten mit dem Status 1 (am Melanom verstorben) ein."
Also wäre diese Aufgabe eher ein Vergleich zwischen verschiedenen Grafiken, zb. erst "time" und "sex" ins Verhältnis setzen, dann "time" und "ulcer", und als drittes "sex" und "ulcer"? Aber wenn ich age und thickness nicht in einem Boxplot darstellen kann, was hab ich denn dann für andere Möglichkeiten diese Aufgabe zu lösen, so dass alle Variablen betrachtet werden können?
Und ich hab "summary(aov(time ~ sex + age + year + thickness + ulcer, data=melanoma))" ausprobiert, aber verstehe nicht, was das Ergebnis aussagt... Was sagt mir Sum Sq, Mean Sq, Value und Pr(>)?
Df Sum Sq Mean Sq F value Pr(>F)
sex 1 5512308 5512308 6.893 0.00933 **
age 1 21927667 21927667 27.419 4.15e-07 ***
year 1 49409546 49409546 61.784 2.37e-13 ***
thickness 1 14647126 14647126 18.315 2.91e-05 ***
ulcer 1 6199316 6199316 7.752 0.00588 **
Residuals 199 159144146 799719
Viele Grüße,
Sarah
Re: Abhängigkeiten in R (Melanoma)
Hallo Sarah,
...
Die Funktion aov() macht eine AnalysisOfVariances https://de.wikipedia.org/wiki/Varianzanalyse
Gruß, Jörg
p.s.:
Bitte verwende Formatierungen, siehe viewtopic.php?f=20&t=29
Code: Alles auswählen
data(melanoma, package="boot")
par(mfcol=c(1,2))
boxplot(time~sex, data = melanoma[melanoma$status==1,])
boxplot(time~ulcer, data = melanoma[melanoma$status==1,])
Code: Alles auswählen
M <- melanoma[melanoma$status==1,]
par(mfcol=c(1,3))
plot(time ~ age, data=M)
plot(time ~ year, data=M)
plot(time ~ thickness, data=M)
Code: Alles auswählen
summary(aov(time ~ sex + age + year + thickness + ulcer, data=melanoma))
summary(aov(time ~ sex + age + year + thickness + ulcer, data=M))
p.s.:
Bitte verwende Formatierungen, siehe viewtopic.php?f=20&t=29
Re: Abhängigkeiten in R (Melanoma)
Hallo Jörg,
vielen Dank für deine Hilfe, nun sieht es endlich nach etwas Gutem aus
Jetzt muss ich nur noch ein bisschen formatieren und Text verfassen, die letzte Aufgabe lasse ich jetzt weg, 5 von 6 ist ja schon fast komplett
Danke
vielen Dank für deine Hilfe, nun sieht es endlich nach etwas Gutem aus
Jetzt muss ich nur noch ein bisschen formatieren und Text verfassen, die letzte Aufgabe lasse ich jetzt weg, 5 von 6 ist ja schon fast komplett
Danke
Re: Abhängigkeiten in R (Melanoma)
Hallo Sarah,
Gruß, Jörg
Du meinst sowas?theDuchess hat geschrieben: ↑Do Dez 20, 2018 7:14 pm ..., die letzte Aufgabe lasse ich jetzt weg, 5 von 6 ist ja schon fast komplett
Code: Alles auswählen
data(melanoma, package="boot")
summary(aov(status ~ age + sex + thickness + ulcer, data=subset(melanoma, status!=3)))
# oder
summary(aov(status ~ age + sex + thickness + ulcer, data=melanoma, subset=status!=3))