Sonderfall in Funktion einbauen

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
hanlovsstats

Sonderfall in Funktion einbauen

Beitrag von hanlovsstats »

Hallo liebes Forum,

ich bin neu hier und würde gleich mit einer Frage starten, wenn ich darf..
Für Statistik muss ich eine Abschlussaufgabe mit R lösen. Die erforderliche Funktion habe ich auch soweit fertig gebastelt und sieht so aus:

Code: Alles auswählen

AENE<-function(N,o14=1,u14=0){
  (N/1.045)/(1+((o14-1)*0.5)+(u14*0.3))}
paste("Das bereinigte Äquivalenznettoeinkommen beträgt:"
      ,AE<-round(
        AENE(3000,4,3) #Zahlenwerte hier einsetzen
        , 2), "Euro")

# o14 (over 14)= Alle Haushaltsmitglieder über 14 Jahren
# u14 (under 14)= Alle Hauhaltsmitglieder unter 14 Jahren
# N = Nettoeinkommen
Mein Problem ist folgender Randfall:
AENE(3000,0,3) ergibt 2050.58 Euro
laut Spiegel Online Rechner 1.511 Euro (Dieser Rechner soll Vorbild für meine Funktion sein.http://www.spiegel.de/wirtschaft/einkom ... 88143.html

Ich muss den Fall noch abfangen, wenn ich 0 Personen über 14J eingebe.

Meine Ansätze waren bis jetzt in die Funktion (o14=0 == 1) einzubauen aber dann hat es immer mit dem Wert 1 gerechnet, auch wenn ich 2 eingegeben hab.Ein anderer Ansatz war, es eine if Bedingung einzubauen, aber da habe ich durch rumprobieren auch noch nicht geschafft ans Ziel zu kommen. Wäre das denn der richtige Weg? ich weiß nicht an welcher Stelle ich es in die Funktion einbauen müsste, was meine else condition ist und wie ich R vermittle, dass er mit 1 rechnen soll.

Verzeihung, ich bin blutige Anfängerin..

Ich hoffe ich konnte mein Problem einigermaßen verständlich erläutern und ihr könnt mir den ein oder anderen Denkanstoß geben.

Liebe Grüße & Danke wenn ihr es bis hierhin gelesen habt!
Hannah
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Sonderfall in Funktion einbauen

Beitrag von EDi »

So was?

Code: Alles auswählen

if(o14==0) o14 <- 0
Also, wenn o14 Null ist, überschreibe o14 mit 1.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten