Lokale Regressionsfunktion: Verteilung mit Quartilen charakterisieren

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
schu

Lokale Regressionsfunktion: Verteilung mit Quartilen charakterisieren

Beitrag von schu »

Hallo miteinander,

zwei Dinge vorab: Es handelt sich hierbei um eine Hausaufgabe und es ist nicht eilig.

In einer Teilaufgabe sollen zwei lokale Regressionsfunktionen nach dem Binning-Prinzip berechnet werden. Dabei soll die Verteilung der einen mit dem 1. Quartil und die der anderen mit dem 3. Quartil charakterisiert werden. Die Intervalle werden über die Dezile bestimmt. Ich gebe zu, dass ich nicht den kleinsten Schimmer habe, wie ich R zu verstehen gebe, dass ich mit dem 1. bzw. 3. Quartil charakterisieren will. Eine Charakterisierung mit den bedingten Medianen hat funktioniert und sieht wie folgt aus:

Code: Alles auswählen

# Bins bestimmen
breaks <- quantile(dd$awhour, probs = 0:10/10) 

# Bedingte Mediane berechnen
med <- tapply(dd$income, cut(dd$awhour, breaks), median)

# Einzeichnen
plot(dd$awhour, dd$income,
     xlab = "Jahresarbeitsstunden", ylab = "(Arbeits-)Einkommen")
lines(breaks, c(med, tail(med,1)), "s", col="red", lwd=2)
Mein Lösungsansatz, der leider immer eine Fehlermeldung produziert, ist folgender:

Code: Alles auswählen

# Bins bestimmen
qbreaks <- quantile(dd$awhour, probs=0:10/10)

# Charakterisierung mit 1. Quartil
quart1 <- tapply(dd$income, cut(dd$awhour, qbreaks), quantile( ? , 0.25))
Statt den bedingten Medianen als Charakterisierung steht nun hinten das erste Quartil. Setze ich jedoch eine der beiden Variablen ein, dann erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

Error in match.fun(FUN) : 
  'quantile( X , 0.25)' ist nicht Funktion, Zeichen oder Symbol
Ich bin um jeden Hinweis, Ratschlag, Lösungsansatz, etc. sehr dankbar!
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Lokale Regressionsfunktion: Verteilung mit Quartilen charakterisieren

Beitrag von bigben »

Hallo schu,

ich muss gestehen, dass ich die Aufgabe nicht ganz verstanden habe.

Vorbehaltlich dessen, kann ich vielleicht mit R Syntax trotzdem helfen:
schu hat geschrieben: Fr Jun 16, 2017 11:50 am

Code: Alles auswählen

# Charakterisierung mit 1. Quartil
quart1 <- tapply(dd$income, cut(dd$awhour, qbreaks), quantile( ? , 0.25))

Versuch mal

Code: Alles auswählen

quart1 <- tapply(dd$income, cut(dd$awhour, qbreaks), function(x) quantile(x, 0.25))
Wenn das unzureichend hilft, erklär bitte nochmal, was Du erreichen willst und gibt ein paar Beispieldaten an.

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

Re: Lokale Regressionsfunktion: Verteilung mit Quartilen charakterisieren

Beitrag von schu »

Hi Bernhard,

vielen Dank für deine Hilfe. Es hat funktioniert!
Antworten