Seite 1 von 2
Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 3:31 pm
von Schnepp
Hallo,
mein Problem ist folgendes:
Ich habe eine Variable "Alter", welche ein Faktor mit 46 Leveln ist und das Alter von Personen beinhaltet.
Ich möchte diese Variable in "Gruppen" aufteilen, damit ich mir im nachhinein die absoluten und prozentualen Anteile jeder Gruppe anzeigen lassen kann. Daran scheitere ich bereits mit der Fehlermeldung "In Ops.factor(Alter, 22) : ‘<’ not meaningful for factors"
So sieht das momentan aus:
agegroup <-factor(levels=c("bis 21","22-23","24-25","26-27","28-29","30-39","40und+"),ordered=T)
agegroup[Alter<22]<-"bis 21"
agegroup[Alter>21&Alter<24]<-"22-23"
agegroup[Alter>23&Alter<26]<-"24-25"
agegroup[Alter>25&Alter<28]<-"26-27"
agegroup[Alter>27&Alter<30]<-"28-29"
agegroup[Alter>29&Alter<40]<-"30-39"
agegroup[Alter>39]<-"40und+"
describe(agegroup) #absolut, %, N, Miss
Die describe Funktion aus dem psych Paket hilft mir dabei nicht weiter, weil agegroup ja letztendlich ein Faktor ist...
Ich hoffe ich habe das Problem vernünftig geschildert, ist mein erster Post hier.
Danke fürs Lesen
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 3:42 pm
von bigben
Hallo Schnepp,
Du schreibst, Alter sei ein Factor, Du machst aber Vergleiche, als ob es Zahlenwerte seien. Was sagt denn
? Wenn es nur ums Zählen geht kannst Du auch mit
Alter selbst auszählen und die Gruppengrößen durch addieren gewinnen.
LG, Bernhard
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 3:52 pm
von Schnepp
Danke für die schnelle Antwort
str(Alter) gibt mir "Factor w/ 46 levels"
Mit dem table Befehl könnte ich mir alles von Hand zusammenrechnen, ich hatte nur gehofft eine elegantere Lösung zu finden, bei welcher mir die Anzahl der entsprechend Alten Menschen schon in Gruppen zusammengezählt wird.
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 4:00 pm
von bigben
Das ist ganz bestimmt eine Verkürzung der Ausgabe von str, macht aber schon mal klar, dass Ausdrücke der Art " Alter<21" falsch sind. Bei ungeordneten Faktoren macht "kleiner" keinen Sinn!
Was sagt
?
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 4:04 pm
von Schnepp
levels(Alter) gibt mir in Reihenfolge Zahlen von 17 bis 65, ab und zu fehlt eine, weil keiner dieses Alter angegeben hat
EDIT: hab mich verguckt, es fehlt keine, falls das wichtig ist...
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 4:23 pm
von bigben
Ich habe kein gutes Gefühl, wenn Du statt Output Deine Interpretation des Outputs wiedergibst, aber das musst Du wissen. Was sagt
Code: Alles auswählen
A.num <- as.numeric(as.character(Alter))
summary(A.num)
?
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 4:27 pm
von Schnepp
Verzeihung, das war nicht meine Absicht
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
17.00 21.00 22.00 23.75 25.00 65.00 72
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 4:35 pm
von bigben
Cool, dann hast Du mit A.num jetzt die Alterswerte als Zahlen vorliegen. Die erlauben jetzt alle Rechenoperationen und können sinnvoll mit Zahlen verglichen werden. Deshalb lassen die sich auch besser gruppieren.
Such mal nach der Funktion cut und melde Dich dann, ob Du damit klar kommst.
LG, Bernhard
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 4:59 pm
von Schnepp
Danke erstmal, das hilft mir echt super weiter!
agegroup <-factor(levels=c("bis 21","22-23","24-25","26-27","28-29","30-39","40und+"),ordered=T)
agegroup[A.num<22]<-"bis 21"
agegroup[A.num>21&A.num<24]<-"22-23"
agegroup[A.num>23&A.num<26]<-"24-25"
agegroup[A.num>25&A.num<28]<-"26-27"
agegroup[A.num>27&A.num<30]<-"28-29"
agegroup[A.num>29&A.num<40]<-"30-39"
agegroup[A.num>39]<-"40und+"
table(agegroup)
dadurch bekomme ich jetzt
agegroup
bis 21 22-23 24-25 26-27 28-29 30-39 40und+
1807 1101 559 321 224 365 103
EDIT: Das cutten hat also geklappt. Bekomme ich das jetzt noch so hin, dass ich agegroup irgendwie mit der discribe funktion verwenden kann oder hast du da eine andere Idee? Ansonsten hast du mein Problem damit gelöst, dankeschön!
Re: Altersgruppen bilden und deskriptive Kennwerte
Verfasst: So Apr 12, 2020 5:02 pm
von bigben
Schön, dass es jetzt läuft. cut würde den Code kürzer machen, aber Hauptsache es klappt.
Für Deine nächste Frage:
viewtopic.php?f=20&t=29
LG Bernhard