Abhängige neue Spalte einfügen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Kramer
Beiträge: 16
Registriert: Fr Nov 02, 2018 12:29 pm

Abhängige neue Spalte einfügen

Beitrag von Kramer »

Moin,

ich habe ein eigentlich einfaches Problem finde aber keine Lösung:

Ich habe eine Tabelle, die eine Spalte beinhaltet, deren Einträge Ratings sind, z.b. AA oder AA- etc. Ich möchte diese Ratings jetzt mit numerischen Werten haben, d.h. eine neue Spalte hinzufügen, deren Einträge zu dem Rating gehörende Zahlen sind (Für deskriptive Analysen). Z.b. möchte ich, falls die Zeile ein Rating von AA hat, die Zahl 4 in der Spalte haben, bei AA- die Zahl 3 usw.
Kann mir jemand sagen wie ich diese Abhängigkeit der neuen Spalte hinbekomme?

VG
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Abhängige neue Spalte einfügen

Beitrag von jogo »

Hallo Kramer,

willkommen im Forum!
Schau Dir doch mal die Funktion recode() aus dem Paket car an. MMn müsste sie das von Dir Gewünschte elegant erledigen können.

Gruß, Jörg
Kramer
Beiträge: 16
Registriert: Fr Nov 02, 2018 12:29 pm

Re: Abhängige neue Spalte einfügen

Beitrag von Kramer »

Perfekt, hat geklappt, danke :D
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Abhängige neue Spalte einfügen

Beitrag von bigben »

Man kann sich in R natürlich auch eine einfache Funktion schreiben, die das erledigt.

Code: Alles auswählen

d <- data.frame(rating = c("AA", "A", "AB", "BB", "AA"))

meineFunktion <- Vectorize(function(rating){
  if(rating=="AA") return(4)
  if(rating=="A") return(3)
  if(rating=="AB") return(2)
  if(rating=="BB") return(1)
  return(NA)
})

meineFunktion("AA")

d$neueSpalte <- meineFunktion(d$rating)
print(d)
HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Abhängige neue Spalte einfügen

Beitrag von EDi »

Man kann sich in R natürlich auch eine einfache Funktion schreiben, die das erledigt
Oder eine benutzen die schon da ist : switch().
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.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Abhängige neue Spalte einfügen

Beitrag von bigben »

Die kannte ich noch nicht :)
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Abhängige neue Spalte einfügen

Beitrag von EDi »

Die kannte ich noch nicht :)
Ist ganz ähnlich zu deiner Lösung. -999 ist der fall-back.

Code: Alles auswählen

d <- data.frame(rating = c("AA", "A", "AB", "BB", "AA", "non"))

foo <- Vectorize(function(rating) {
  switch(as.character(rating),
         AA = 4,
         A = 3,
         AB = 2,
         BB = 1,
         -9999)
})
foo(d$rating)
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