eine Variable in dichotome Variable umwandeln

Berechnung von deskriptiven Statistiken mit R.

eine Variable in dichotome Variable umwandeln

Beitragvon Otte » Mo 17. Dez 2018, 09:57

Hallo in die Runde,

ich bin noch sehr R-unbedarft und muss es nun in der Uni lernen. Bei einer Hausaufgabe gibt es nun einen Schritt am Anfang, an dem ich schon lange steckenbleibe. Es soll eine Variable eines Datensatzes in eine dichotome Variable umgewandelt werden. Könnte mir jemand weiterhelfen? Vielen Dank!
Otte
 
Beiträge: 6
Registriert: Mo 17. Dez 2018, 09:51
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon jogo » Di 18. Dez 2018, 11:55

Hallo Otte,

kannst Du bitte mehr Informationen zu der Variablen geben? Befindet sie sich in einem Dataframe?
Recht gute Informationen liefert die Funktion str(), z.B.
Code: Alles auswählen
str(iris)


Gruß, Jörg
Zuletzt geändert von jogo am Di 18. Dez 2018, 14:53, insgesamt 1-mal geändert.
jogo
 
Beiträge: 139
Registriert: Mo 26. Feb 2018, 09:56
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon Otte » Di 18. Dez 2018, 12:45

Hallo Jörg,

danke vielmals für Deine Antwort. Diese erste Aufgabe habe ich nun mit as.factor lösen können durch einen Tipp einer Freundin. Eine andere Frage wäre nun, wie kann man levels einer Variable neu benennen. Es gibt eine Variable, die angibt, ob die Befragten Abitur oder nicht haben. Das ist in der Tabelle mit 1 bzw. -1 codiert. Man soll diese Levels in 'abi' oder 'kein abi' bezeichnen. Das gelingt mir noch nicht.

idnr blutzucker wissen fatalist_k dauer abi
1 1 115 40 12 8 -1
2 2 135 35 21 1 -1
3 3 108 34 15 5 -1
4 4 68 39 19 96 -1
5 5 90 27 33 140 -1
6 6 129 16 28 84 -1
7 7 69 39 22 120 -1
8 8 92 24 22 216 -1
9 9 74 40 15 195 -1
10 10 89 40 27 255 -1
11 11 90 30 28 240 -1
12 12 76 31 21 180 -1
13 13 80 42 16 170 -1
14 14 92 28 23 75 -1
15 15 68 42 16 216 -1
16 16 110 42 14 170 -1
17 17 130 34 18 3 -1
18 18 113 35 25 145 -1
19 19 85 37 22 270 -1
20 20 84 33 11 250 -1
21 21 101 31 24 260 -1
22 22 68 35 22 37 1
23 23 83 42 20 60 1
24 24 70 41 19 60 1
25 25 74 36 18 240 1
26 26 83 40 14 16 1
27 27 83 44 8 18 1
28 28 102 42 17 120 1
29 29 88 44 11 60 1
30 30 74 26 17 110 1
31 31 87 35 23 85 1
32 32 85 38 16 85 1
33 33 136 34 20 110 1
34 34 117 45 18 220 1
35 35 78 39 25 240 1
36 36 109 44 15 185 -1
37 37 99 37 21 9 -1
38 38 95 30 23 204 -1
39 39 83 35 17 240 -1
40 40 132 11 21 96 -1
41 41 91 28 21 288 -1
42 42 97 27 30 240 -1
43 43 73 42 17 210 -1
44 44 104 26 31 75 -1
45 45 141 32 15 60 -1
46 46 117 42 14 84 -1
47 47 112 41 21 140 -1
48 48 100 24 13 200 -1
49 49 108 21 25 25 -1
50 50 110 37 12 60 -1
51 51 87 42 20 100 -1
52 52 107 26 22 120 -1
53 53 99 38 28 105 1
54 54 70 38 15 60 1
55 55 88 41 28 204 1
56 56 102 25 24 145 1
57 57 62 41 18 18 1
58 58 100 41 15 0 1
59 59 115 34 17 135 1
60 60 59 42 12 8 1
61 61 64 37 14 5 1
62 62 105 42 15 108 1
63 63 92 34 14 240 1
64 64 85 44 14 180 1
65 65 54 38 13 120 1
66 66 102 26 20 120 1
67 67 80 35 19 120 1
68 68 86 46 10 2 1

Und in der nächsten Aufgabe soll man Werte einer anderen Variable (Blutzucker, numerisch) "durch Kennwerte angemessen zusammenfassen" und danach die Verteilung in einem Histogramm darstellen. Ich verstehe nicht so ganz, was mit "durch Kennwerte angemessen zusammenfassen" gemeint ist.

Vielen Dank schon mal!
Liebe Grüße, Lotte
Otte
 
Beiträge: 6
Registriert: Mo 17. Dez 2018, 09:51
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon jogo » Di 18. Dez 2018, 15:06

Hallo Lotte,

hier erstmal zum ersten Teil:
Code: Alles auswählen
d <- read.table(header=TRUE, text=
"idnr blutzucker wissen fatalist_k dauer abi
1 1 115 40 12 8 -1
2 2 135 35 21 1 -1
3 3 108 34 15 5 -1
4 4 68 39 19 96 -1
5 5 90 27 33 140 -1
6 6 129 16 28 84 -1
7 7 69 39 22 120 -1
8 8 92 24 22 216 -1
9 9 74 40 15 195 -1
10 10 89 40 27 255 -1
11 11 90 30 28 240 -1
12 12 76 31 21 180 -1
13 13 80 42 16 170 -1
14 14 92 28 23 75 -1
15 15 68 42 16 216 -1
16 16 110 42 14 170 -1
17 17 130 34 18 3 -1
18 18 113 35 25 145 -1
19 19 85 37 22 270 -1
20 20 84 33 11 250 -1
21 21 101 31 24 260 -1
22 22 68 35 22 37 1
23 23 83 42 20 60 1
24 24 70 41 19 60 1
25 25 74 36 18 240 1
26 26 83 40 14 16 1
27 27 83 44 8 18 1
28 28 102 42 17 120 1
29 29 88 44 11 60 1
30 30 74 26 17 110 1
31 31 87 35 23 85 1
32 32 85 38 16 85 1
33 33 136 34 20 110 1
34 34 117 45 18 220 1
35 35 78 39 25 240 1
36 36 109 44 15 185 -1
37 37 99 37 21 9 -1
38 38 95 30 23 204 -1
39 39 83 35 17 240 -1
40 40 132 11 21 96 -1
41 41 91 28 21 288 -1
42 42 97 27 30 240 -1
43 43 73 42 17 210 -1
44 44 104 26 31 75 -1
45 45 141 32 15 60 -1
46 46 117 42 14 84 -1
47 47 112 41 21 140 -1
48 48 100 24 13 200 -1
49 49 108 21 25 25 -1
50 50 110 37 12 60 -1
51 51 87 42 20 100 -1
52 52 107 26 22 120 -1
53 53 99 38 28 105 1
54 54 70 38 15 60 1
55 55 88 41 28 204 1
56 56 102 25 24 145 1
57 57 62 41 18 18 1
58 58 100 41 15 0 1
59 59 115 34 17 135 1
60 60 59 42 12 8 1
61 61 64 37 14 5 1
62 62 105 42 15 108 1
63 63 92 34 14 240 1
64 64 85 44 14 180 1
65 65 54 38 13 120 1
66 66 102 26 20 120 1
67 67 80 35 19 120 1
68 68 86 46 10 2 1")
d$abiFaktor <- factor(d$abi, levels=c(-1, 1), labels=c("keinAbi", "Abi"))
d

Und in der nächsten Aufgabe soll man Werte einer anderen Variable (Blutzucker, numerisch) "durch Kennwerte angemessen zusammenfassen" und danach die Verteilung in einem Histogramm darstellen. Ich verstehe nicht so ganz, was mit "durch Kennwerte angemessen zusammenfassen" gemeint ist.
Das verstehe auch ich nicht, weil man auch ohne weitere Zusammenfassung ein Histogramm zeichnen kann:
Code: Alles auswählen
hist(d$blutzucker)

Gruß, Jörg
jogo
 
Beiträge: 139
Registriert: Mo 26. Feb 2018, 09:56
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon Otte » Di 18. Dez 2018, 18:06

Vielen Dank für die Hilfe!
Ich berechne jetzt einpaar Kennwerte wie Maximal- und Mittelwert und vielleicht noch einen weiteren, den ich mir noch überlegen muss.
Ein Histogramm habe ich jetzt einfach von der Variable erstellt.

Jetzt soll man Folgendes tun:
Verändern Sie danach die Breite der Klassen wie folgt: (a)
doppelt und (b) halb so breit wie in der Standardeinstellung.
Vergleichen Sie nun die drei Diagramme und beschreiben Sie kurz die
Verteilungsform. Erstellen Sie zum Schluss einen Boxplot der Variable
"blutzucker ". Erkennen Sie die anhand des Histogramms beschriebene
Verteilungsform wieder? Woran?

Da bin ich auch wieder etwas überfragt.

Lieben Dank, Lotte
Otte
 
Beiträge: 6
Registriert: Mo 17. Dez 2018, 09:51
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon jogo » Di 18. Dez 2018, 21:46

Hallo Lotte,

Otte hat geschrieben:Vielen Dank für die Hilfe!
Ich berechne jetzt einpaar Kennwerte wie Maximal- und Mittelwert und vielleicht noch einen weiteren, den ich mir noch überlegen muss.
Ein Histogramm habe ich jetzt einfach von der Variable erstellt.

Jetzt soll man Folgendes tun:
Verändern Sie danach die Breite der Klassen wie folgt: (a)
doppelt und (b) halb so breit wie in der Standardeinstellung.
Vergleichen Sie nun die drei Diagramme und beschreiben Sie kurz die
Verteilungsform.
Meinst Du so:
Code: Alles auswählen
hist(d$blutzucker) # Klassenbreite 10
fivenum(d$blutzucker)
hist(d$blutzucker, breaks = seq(40, 160, 20))
hist(d$blutzucker, breaks = seq(40, 160, 5))
boxplot(d$blutzucker)
:?:
Das sieht soweit halbwegs normalverteilt aus.

Erstellen Sie zum Schluss einen Boxplot der Variable
"blutzucker ". Erkennen Sie die anhand des Histogramms beschriebene
Verteilungsform wieder? Woran?

Da bin ich auch wieder etwas überfragt.
Der Boxplot zeigt auch Symmetrie:
der Median liegt in der Mitte der Box, die whisker sind etwa gleichlang.

Gruß, Jörg

Lieben Dank, Lotte
jogo
 
Beiträge: 139
Registriert: Mo 26. Feb 2018, 09:56
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon Otte » Di 18. Dez 2018, 23:24

Hallo Jörg, danke für die Vorschläge. Ich habe ein paar Verständnisfragen dazu: Du hast 'Klassenbreite 10' geschrieben, ich verstehe selbst nicht, wo ich diese Breiten finde und wie ich dann auf 10 beim Verdoppeln kommen würde und ich verstehe beim Histogramm auch nicht, welche Werte die x-Achse repräsentieren. Ich stehe irgendwie auf dem Schlauch..Und was bedeutet der Befehl fivenum? Sorry, dass ich so verwirrt bin!

Es geht auch noch munter weiter mit den Aufgaben. Wie kann ich denn eine neue Variable erstellen mit klassierten Werten?
"Füugen Sie dem Datensatz eine neue Variable hinzu: Diese soll die nachfolgend
beschriebenen klassierten Werte der Variable "wissen" enthalten.
- 0 bis 26 richtige Antworten = "geringes Wissen"
- 27 bis 37 richtige Antworten = "gutes Wissen"
- 38 oder mehr richtige Antworten = "sehr gutes Wissen"


Danke & Grüße, Lotte
Zuletzt geändert von Otte am Mi 19. Dez 2018, 12:14, insgesamt 1-mal geändert.
Otte
 
Beiträge: 6
Registriert: Mo 17. Dez 2018, 09:51
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon jogo » Mi 19. Dez 2018, 09:43

Hallo Lotte,

Otte hat geschrieben:Hallo Jörg, danke für die Vorschläge. Ich habe ein paar Verständnisfragen dazu: Du hast 'Klassenbreite 10' geschrieben, ich verstehe selbst nicht, wo ich diese Breiten finde
ich habe die Klassenbreite aus dem Histogramm abgelesen: zwischen 60 und 80 sind zwei Säulen. (siehe angehängte Grafik)

und wie ich dann auf 10 beim Verdoppeln kommen würde
Da steht doch aber hist(d$blutzucker, breaks = seq(40, 160, 20))

und ich verstehe beim Histogramm auch nicht, welche Werte die x-Achse repräsentieren.

Ein Histogram ist die grafische Darstellung der Häufigkeiten. https://de.wikipedia.org/wiki/Histogramm
Du kannst Dir die Häufigkeiten auch als Zahlen anzeigen lassen:
Code: Alles auswählen
print(hist(d$blutzucker))


Und was bedeutet der Befehl fivenum?
Das sind fünf statistische Kennzahlen, die auch bei
Code: Alles auswählen
summary(d$blutzucker)
angezeigt werden. Zusätzlich zeigt summary() noch das arithmetische Mittel.
Das steht aber auch alles in den Hilfetexten:
Code: Alles auswählen
?hist
help(fivenum)

Gruß, Jörg
Dateianhänge
Rplot.png
Histogramm ohne weitere Parameter
Rplot.png (7.75 KiB) 167-mal betrachtet
jogo
 
Beiträge: 139
Registriert: Mo 26. Feb 2018, 09:56
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon Otte » Mi 19. Dez 2018, 22:14

Hallo Jörg,
ok dankeschön!
Die Hilfe öffnet sich leider nicht und es gibt einen Error.
Welche Kennwerte zeigt mir fivenum?
Wie kann ich dem Datensatz eine neue Variable hinzufügen, die dann auch noch bestimmte klassierte Werte beinhaltet?

Fugen Sie dem Datensatz eine neue Variable hinzu: Diese soll die nachfolgend
beschriebenen klassierten Werte der Variable "wissen" enthalten.
- 0 bis 26 richtige Antworten = "geringes Wissen"
1
- 27 bis 37 richtige Antworten = "gutes Wissen"
- 38 oder mehr richtige Antworten = "sehr gutes Wissen"

Danke vielmals & Grüße, Lotte
Otte
 
Beiträge: 6
Registriert: Mo 17. Dez 2018, 09:51
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: eine Variable in dichotome Variable umwandeln

Beitragvon jogo » Do 20. Dez 2018, 07:41

Hallo Lotte,

das macht die Funktion cut()
Code: Alles auswählen
d$wissenKl <- cut(d$wissen, breaks=c(-1, 26, 37, Inf), labels=c("geringW", "gutesW", "sehrgutW"))
d


Gruß, Jörg
jogo
 
Beiträge: 139
Registriert: Mo 26. Feb 2018, 09:56
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Nächste

Zurück zu Deskriptive Statistik

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron