Empirische Verteilungsdichte

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

Moderatoren: EDi, jogo

Antworten
michey777

Empirische Verteilungsdichte

Beitrag von michey777 »

Hallo zusammen :)

vielleicht kann mir ja jemand bei meinem kleinen Problem helfen... Stehe einfach mal wieder auf dem Schlauch.
Ich möchte mir für einen Datensatz (dax) der 2 Spalten (solvent, insolvent) beinhaltet, eine epirische Verteilungsdichte grafisch anzeigen lassen.
Über den R Commander kann ich mir beide Spalten einzeln über Grafik --> Dichteschätzung ausgeben lassen, jedoch ist mein Ziel beide Graphen in einer Grafik abzubilden.
Am Beispiel boxplot (dax) funktioniert die Grafik dementsprechend für beide Spalten.
Weiß jemand wie ich das ebenfalls für die empirische Verteilungsdichte hinbekomme? Ich benutze momentan folgende Funktion:
densityPlot(~ insolvent, data=dax)

Vielen Dank. :oops:
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Empirische Verteilungsdichte

Beitrag von bigben »

Hallo michey777,

willkommen im Forum. Es gibt eine Funktion densityPlot im Package car, meinst Du die? Damit habe ich nie gearbeitet, aber mit

Code: Alles auswählen

plot(density(variable))
kann man eine Verteilungsdichte anzeigen und mit

Code: Alles auswählen

points(density(othervariable))
weitere hinzufügen.

Hier zum Beispiel, gibt es ganz unten auf der Seite eine andere Funktion aus einem anderen Paket, komplett mit Beispiel und Grafik: https://www.statmethods.net/graphs/density.html

Wenn Du solche Fragen stellst, ist es meistens gut, ein kleines reproduzierbares Beispiel dazu zu schreiben.
viewtopic.php?f=20&t=11
https://stackoverflow.com/help/mcve

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

Re: Empirische Verteilungsdichte

Beitrag von michey777 »

Hallo Bernhard,

erstmal vielen Dank für deine Antwort. Ich habe mal meine reproduzierbares Beispiel beigefügt.

>> structure(list(solvent = c(5338.8, 5173.4, 5141.4), insolvent = c(5355.3,
5352.1, 5351)), .Names = c("solvent", "insolvent"), row.names = c(NA,
3L), class = "data.frame") <<

Ich habe beide von dir aufgezeigten Ansätze mal versucht, aber leider kein Ergebnis erhalten :( er sagt mir immer "[3] FEHLER: Objekt 'solvent' nicht gefunden" obwohl ich meiner Meinung nach die Variable "solvent" und "insolvent" richtig definiert habe.

Ebenfalls habe ich die Fuktion mit dem Paket "sm" versucht (auch bin der Beispiel Datei "mtcars". Hier wird sich jedoch auf eine Spalte/Variable beschränkt und nur die Inhalte in 3 verschiedene Gruppen eingeteilt. Wenn ich die 2 Idee erweitere mit folgendem Befehl:

library(sm)
sm.density.compare(dax$solvent, dax$insolvent)

kommt folgendes Ergebnis:

[5] FEHLER:
'from' kann weder NA, NaN noch Inf sein

Der Fehler resultiert meines Erachtens daraus, dass importierten "leeren Zellen" mit N/A eingelesen werden und er mir damit keine Grafik erstellen kann :(

Vielleicht hast du eine Idee wie ich das Problem noch irgendwie lösen kann...
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Empirische Verteilungsdichte

Beitrag von bigben »

Probier das hier mal:

Code: Alles auswählen

beispiel <- structure(list(solvent = c(5338.8, 5173.4, 5141.4), insolvent = c(5355.3,
                      5352.1, 5351)), .Names = c("solvent", "insolvent"), row.names = c(NA,
                      3L), class = "data.frame")
plot(density(beispiel$solvent), col="red", ylim=c(0,.21))
lines(density(beispiel$insolvent), col="blue")
Die Funktion density hat ein Argument das entscheidet, wie sie sich bei NA verhalten soll. Infos dazu finden sich mit

Code: Alles auswählen

help(density)
. Ein Beispiel dazu:

Code: Alles auswählen

beispiel <- rbind(beispiel, c(NA, NA))
print(beispiel)
plot(density(beispiel$solvent, na.rm=TRUE), col="red", ylim=c(0,.21))
lines(density(beispiel$insolvent, na.rm=TRUE), col="blue")
LG,
Bernhard


PS: Wie Du siehst, verbessern Code-Tags die Lesbarkeit deutlich. Bitte benutze auch Du in Zukunft code-Tags.
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
michey777

Re: Empirische Verteilungsdichte

Beitrag von michey777 »

Hi Bernhard,

klasse :) bin jetzt endlich durch alles durchgestiegen und hat sehr gut funktioniert.

Vg Michael
Antworten