Variable aus einer anderen erstellen/umcodieren

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

Moderatoren: EDi, jogo

bigben
Beiträge: 2388
Registriert: Mi Okt 12, 2016 9:09 am

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von bigben »

Hallo FreitaMa
FreitaMa hat geschrieben: Fr Okt 15, 2021 5:49 pm

Code: Alles auswählen

data %>%
  mutate(moneyz = case_when(SS03 == '1' | SS03 == '2' ~ '1',
                            SS03 == '3' ~ '2',
                            SS03 == '4' ~ '3',
                            SS03 == '5' ~ '4',
                            SS03 == '6' ~ '5',
                            SS03 == '7' ~ '6',
                            SS03 == '8' ~ '7'))
Hier "fließt" der Dataframe data in die Funktion mutate und dann geht das Ergebnis verloren, weil nichts damit gemacht wird. Du solltest das Ergebnis in einer neuen Variable abspeichern. Sowas in der Art wie

Code: Alles auswählen

library(magrittr)
data %<>% mutate(moneyz = case_when.....
oder

Code: Alles auswählen

data_2 <- data %>% mutate(oneyz = ...
Bei den anderen beiden Variablen bekomme ich es leider überhaupt nicht hin, einen Code zu schreiben. Vielleicht kann mir dabei jemand helfen? Dafür wäre ich sehr dankbar!
[...]
Auch hier wäre ich für einen Code sehr dankbar, den ich dann für die anderen Bedingungen weiter schreiben kann.
Vielleicht magst Du mal diesen Thread lesen und Dir da was passendes aussuchen? http://forum.r-statistik.de/viewtopic.php?f=20&t=2162

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
schubbiaschwilli
Beiträge: 209
Registriert: Di Jun 27, 2017 12:09 pm

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von schubbiaschwilli »

Gude!

Hm, ohne die Daten ist das halt schlecht zu beurteilen...

Code: Alles auswählen

data <- data.frame(SS03=as.character(1:8))

data$moneyz <- case_when(data$SS03 == '1' | data$SS03 == '2' ~ '1',
                         data$SS03 == '3' ~ '2',
                         data$SS03 == '4' ~ '3',
                         data$SS03 == '5' ~ '4',
                         data$SS03 == '6' ~ '5',
                         data$SS03 == '7' ~ '6',
                         data$SS03 == '8' ~ '7')
In welcher Form liegt denn 'SSO3' vor?

Dank&Gruß
Schubbiaschwilli
FreitaMa
Beiträge: 3
Registriert: Sa Jun 19, 2021 1:04 pm

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von FreitaMa »

Lieber Bernhard,
vielen lieben Dank für Deine Hilfe! Die Variable moneyz ist jetzt in meinem Datensatz vorhanden. Vielen Dank auch für den Link mit dem Sammelbeitrag, diesen habe ich mir durchgelesen und versucht die Funktion ifelse anzuwenden, jedoch bekomme ich es leider nicht wirklich hin dies auf meine Variablen zu beziehen. Hättest Du eventuell eine Beispielzeile für mich, mit der ich dann den Rest schreiben kann ? Dies würde mir wirklich sehr weiterhelfen :) .

Lieber schubbiaschwilli,
vielen Dank auch für Deine Hilfe. Die Variable moneyz konnte ich mit der Hilfe von Bernhard erstellen. Die Variable ist wie folgt codiert:

SS03 Nettoeinkommen
1 = bis 499 €
2 = 500 bis 1249 €
3 = 1250 bis 1749 €
4 = 1750 bis 2249 €
5 = 2250 bis 2999 €
6 = 3000 bis 3999 €
7 = 4000 bis 4999 €
8 = über 5000 €
-9 = nicht beantwortet

Vielen lieben Dank an euch Beide nochmals! Ich hoffe ihr könntet mir noch einmal helfen ? :)
bigben
Beiträge: 2388
Registriert: Mi Okt 12, 2016 9:09 am

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von bigben »

Hallo Maximilian,

das ist so: Manchmal hat man mehr Zeit, manchmal hat man weniger Zeit. Und wenn einer im Stress ist, dann ist halt PRogrammieren für Forumsmitglieder nicht immer das eiligste. Dann hilft auch nicht automatisch eine PN am Samstag Abend, bloß weil der Programmierauftrag vom Freitag morgen noch nicht erledigt ist.

Schon gar nicht, wenn Du es unnötig aufwändig machst, weil Du kein Datenbeispiel gibst. Schubbiaschwillis "ohne die Daten ist das halt schlecht zu beurteilen" hast Du unkommentiert gelassen.

educzm setzt sich bei mir aus den Variablen SS01 (Schulabschluss) und SS02 (Berufsausbildung) zusammen. Ich bräuchte einen Code der diese beiden Variablen in die Variable educzm zusammenfügt.

Und zwar wenn SS01 = 8 oder SS01 = 1, 2, 3, 4, 6, 7 und SS02 = 6, 7 -> educzm = 1
Wenn SS01 = 1, 6, 7 und SS02 = 1,2,3,8 -> educzm = 2
Wenn SS01 = 2 und SS02 = 1,2,3,8 -> educzm = 3
Wenn SS01 = 3,4 und SS02 = 1,2,3,8 -> educzm = 4
Wenn SS01 = 5 und SS02 = 1,2,3,6,7,8 -> educzm = 5
Wenn SS02 = 4 -> educzm = 6
Wenn SS02 = 5 -> educzm = 7

Und bei der letzten Variable müsste wie bei moneyz eine Variable (SS09 = Beruf) unter bestimmten Bedingungen Werte von profm (Wechsler-Variable) annehmen.
Wahrscheinlich kann man diesen Bedingungsblock einigermaßen eins zu eins in code übersetzen. wahrscheinlich sogar mit mutate und case_when wie im schon eingesetzten Code. Wie man die Frage "In welcher Form liegt denn 'SSO3' vor?" am besten beantwortet, hat EDi mal hier zusammengefasst: http://forum.r-statistik.de/viewtopic.php?f=20&t=11

VG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
student
Beiträge: 554
Registriert: Fr Okt 07, 2016 9:52 am

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von student »

Hallo Zusammen,

FreitaMa möchten seinen Beitrag aus Sichtbarkeitsgründen gelöscht haben. Damit geht der Kontext verloren, aber letztendlich muss ich dem Wunsch nachkommen. In Kürze ist der Beitrag also gelöscht...
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
schubbiaschwilli
Beiträge: 209
Registriert: Di Jun 27, 2017 12:09 pm

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von schubbiaschwilli »

Gude!
FreitaMa möchten seinen Beitrag aus Sichtbarkeitsgründen gelöscht haben.
Da das ja (leider) nicht der erste Fall ist: Kann man da nicht mal die Nutzungsregeln anpassen? Es ist ja gerade der Sinn eines Forums, dass es ein öffentlicher Platz ist - Und kein Hinterzimmer oder die dunkle Ecke hinter dem Hauptbahnhof.
Und wenn er Probleme damit hat, dass jemand liest, dass er den Winkler-Sozialschichtindex aus den Variablen Einkommen (moneyz), Schulabschluss und Ausbildung (educzm) und beruflicher Stellung (profm) berechnet, dann soll er es halt umschreiben bzw. die Variablen umbenennen. Und ganz ehrlich: Wer das nicht kann, der sollte mal über eine Alternative zu einem solchen Studium bzw. einer solchen Masterthesis nachdenken - Und da rede ich nicht einmal von den Problemen, Wenn-Dann-Regeln (die man hinschreiben kann) in Code umzusetzen. Oder man muss halt die paar Eumel investieren, und jemand bezahlen, der das macht - Nein, ich nicht.
Nur meine Meinung und Anwesende natürlich ausgeschlossen.

Dank&Gruß
Schubbiaschwilli
ruedi_br
Beiträge: 143
Registriert: Do Mär 01, 2018 3:53 pm

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von ruedi_br »

Bravo! Sehe ich genauso.
Auch wenn eine derartige "Veröffentlichung" eine Aussage wie "die Arbeit wurde ohne fremde Hilfe erstellt" etwas dumm dastehen lässt.
VG Ruedi
fortune(111)
bigben
Beiträge: 2388
Registriert: Mi Okt 12, 2016 9:09 am

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von bigben »

Hallom

auch ich bin da ganz bei schubbiaschwilli.

Es ist eine Unart von manchen Leuten, zwar die öffentliche Hilfe inanspruch nehmen zu wollen, aber dann keine Öffentlichkeit zu tolerieren. Das Einzige was viele Fragesteller hier einbringen ist eine interessante Fragestellung und die soll dann gelöscht werden, damit kein anderer mit einer ähnlichen Fragestellung hier landen und davon profitieren kann.

Wie ich im FAQ-Unterforum schon geschrieben haben
Du kannst Dir nicht vorstellen, wie egal es mir ist, ob Deine Daten geheim sind. Wenn sie es sind, dann gehören sie nicht ins Forum aber auch nicht in mein Emailfach. Dann ist es Deine Aufgabe, entweder einen ungeheimen Ersatzdatensatz zu erschaffen (Simulation, Teilmengen bilden, einzelne Werte zufällig abändern, Spalten umbenennen, Telefonnummernspalte löschen, ...) oder Dir kompetente Hilfe gegen Bezahlung zu suchen.
Dies ist ein Forum; das bedeutet, die Programmierprobleme werden hier öffentlich diskutiert, damit auch alle potentiellen Helfer zur Lösung beitragen können. Wenn dies aus irgendeinem Grund ein Problem für Dich ist, dann ist ein Forum (nicht nur dieses) die falsche Anlaufstelle.
Und auch Ruedi hat Recht. Wenn die Frage nachträglich gelöscht werden muss, dann war sie wahrscheinlich von Anfang an ein Täuschungsversuch. Ich möchte nicht Teil von Täuschungsversuchen sein. Von Anfang an nicht!

Ich weiß von anderen Foren die solche Löschanfragen ignorieren aber ich kann auch verstehen, wenn der Betreiber eines solchen Forums keine Risiken eingehen will. Also weg mit dem blöden Beitrag. Aber ich persönlich bin dafür, Nutzer im Gegenzug für einen substantiellen Zeitraum zu sperren.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
student
Beiträge: 554
Registriert: Fr Okt 07, 2016 9:52 am

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von student »

Ich kann mich Euren Argumenten nur anschließen, ich sehe das genauso. Es ist aus meiner Sicht respektlos und zeigt fehlende Anerkennung für die geleistete gedankliche Arbeit und Zeit. Das demotiviert...

Wie aber bigben angemerkt hat, möchte ich einen Konflikt vermeiden. Was kann alles passieren, wenn ich dem Datenlöschwunsch des Erstellers nicht nachkomme? Eine Sperrung des Nutzers hilft auch nicht weiter, weil m. E. die Lösung seines Problems zufriedenstellend war und er/sie/divers nicht mehr das Forum besucht. Auch das demotiviert...

An dieser Stelle noch einmal danke an Euch! ;)
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
ruedi_br
Beiträge: 143
Registriert: Do Mär 01, 2018 3:53 pm

Re: Variable aus einer anderen erstellen/umcodieren

Beitrag von ruedi_br »

Hallo Günter,
alles recht soweit, aber wie Bernhard schon ausführt:
Es ist eine Unart von manchen Leuten, zwar die öffentliche Hilfe inanspruch nehmen zu wollen, aber dann keine Öffentlichkeit zu tolerieren.
.
Wie lässt sich das Sendungsbewußtsein, die Anwendung von R zu propagieren mit den des öfteren schon genannten Kipptauchern oder Löschwütigen vereinbaren? Eigentlich sind die FAQs doch hinreichend klar ????
VG
Ruedi
fortune(111)
Antworten