Daten umcodieren

Alles zum Thema der beschreibenden Statistik

Moderator: jogo

Antworten
Danke_im_Voraus
Beiträge: 5
Registriert: Sa Jul 20, 2019 3:35 pm

Daten umcodieren

Beitrag von Danke_im_Voraus »

Hallo zusammen,

ich habe einen Datensatz bei der u.a. die Variable Geschlecht gegeben ist.
Die Variable ist in 0 für männlich und 1 für weiblich codiert.
Zum leichteren Verständnis möchte ich gerne die 0 durch ein M und die 1 durch ein W ersetzen.

Leider finde ich keinen passenden Befehl für diese "umcodierung".
Habt ihr eine Idee?

Vielen Dank im Voraus.
Zuletzt geändert von Danke_im_Voraus am So Mär 29, 2020 7:01 pm, insgesamt 1-mal geändert.
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Daten umcodieren

Beitrag von student »

Klar!

Siehe hier und hier:

Code: Alles auswählen

 A <- c(1, 1, 0, 0, 1)
> A
[1] 1 1 0 0 1
> recode(A, "0 = 'm'; 1 = 'w'") 
[1] "w" "w" "m" "m" "w"

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)
Danke_im_Voraus
Beiträge: 5
Registriert: Sa Jul 20, 2019 3:35 pm

Re: Daten umcodieren

Beitrag von Danke_im_Voraus »

Hallo Student,

vielen Dank für deine Hilfe.
Leider erhalte ich folgende Fehlermeldung:

> recode(Geschlecht, "0 = 'm'; 1 = 'w'")
Error: Argument 2 must be named, not unnamed
Call `rlang::last_error()` to see a backtrace

Und muss ich noch zusätzlich data=dataframe hinzufügen, damit R weiß aus welchem Datensatz die Spalte stammt, die umcodiert werden soll?

Vielen Dank im Voraus.
Danke_im_Voraus
Beiträge: 5
Registriert: Sa Jul 20, 2019 3:35 pm

Re: Daten umcodieren

Beitrag von Danke_im_Voraus »

Hallo Student,

das ist die aktuelle Struktur meiner Variable Geschlecht.
> str(Körpermaße_Kinder$Geschlecht)
Factor w/ 2 levels "0","1": 1 2 1 2 1 1 2 1 2 1 ...

Am optimalsten wäre es wenn, ich sie so umcodieren könnte:
> str(Körpermaße_Kinder$Geschlecht)
Factor w/ 2 levels "M","W": 1 2 1 2 1 1 2 1 2 1 ...

Also Factor mit zwei Levels M und W.
Damit man z.b. bei Balkendiagrammen die Beschriftung M und W statt 0 und 1 hat.

Ist verständlich was ich meine?
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Daten umcodieren

Beitrag von student »

Wenn ich Dich richtig verstehe, liegen Deine Daten als factor vor.

Wenn ja, sollte es trotzdem gehen:

Code: Alles auswählen

> A <- c(0, 0, 0, 1, 1, 0, 1)
> str(A)
 num [1:7] 0 0 0 1 1 0 1
> A <- as.factor(A)
> A
[1] 0 0 0 1 1 0 1
Levels: 0 1
> recode(A, "0 = 'm'; 1 = 'w'") 
[1] m m m w w m w
Levels: m w
Oder so...

Code: Alles auswählen

> A <- c(0, 0, 0, 1, 1, 0, 1)
> A <- factor(A, labels = c("w", "m"))
> A
[1] w w w m m w m
Levels: w m
> summary(A)
w m 
4 3 
> plot(A)
Hast Du für recode das Paket car geladen, wie hier beschrieben?
Dateianhänge
plot(A)
plot(A)
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)
Danke_im_Voraus
Beiträge: 5
Registriert: Sa Jul 20, 2019 3:35 pm

Re: Daten umcodieren

Beitrag von Danke_im_Voraus »

Hallo Student,

perfekt, die zweite Variante hat funktioniert!
Vielen vielen Dank für die Mühe und Geduld!
MVollmer
Beiträge: 4
Registriert: Sa Mär 28, 2020 2:53 pm

Re: Daten umcodieren

Beitrag von MVollmer »

Hallo community,

ich habe eine ähnliche Fragestellung.
Ich habe die Variable Geschlecht aus einer kryptischen Codierung im Datensatz umbenannt, diese enthält integere (int) Ausprägungen 0 (weiblich) und 1 (männlich). Das hat noch funktioniert und die Variable heisst nun Geschlecht.

> names(gesundheitsumfrage)[names(gesundheitsumfrage)=="q_004.1"] <- "Geschlecht"

N/As habe ich bereits herausgefiltert.

> str(gesundheitsumfrage2$Geschlecht)
int [1:763] 0 0 1 0 0 0 0 0 0 0 ...

Leider funktioniert keine der in diesem Thread erläuterten Vorgehensweisen, die Ausprägungen in "weiblich" bzw "männlich" umzucodieren um im Schaubild entsprechend schöne Bezeichnungen anstelle Zahlen stehen zu haben.
Das Paket car ist installiert.

Liegt es daran, dass die Ausprägungen integer sind?
Hat jemand eine Idee, wie ich vorgehen könnte?

Besten Dank,

VG
Matthias
ruppy
Beiträge: 41
Registriert: Mo Nov 04, 2019 10:05 pm

Re: Daten umcodieren

Beitrag von ruppy »

Code: Alles auswählen

gesundheitsumfrage2$Geschlecht <- factor(ifelse(gesundheitsumfrage2$Geschlecht == 1, "männlich", "weiblich"))
Probier mal das.
MVollmer
Beiträge: 4
Registriert: Sa Mär 28, 2020 2:53 pm

Re: Daten umcodieren

Beitrag von MVollmer »

Danke dir ruppy, hat perfekt geklappt!
Antworten