Seite 1 von 1

Faktor zusammenfassen

Verfasst: Di Dez 29, 2020 1:16 pm
von Hanibal
Hallo zusammen, ich habe ein kleines Problem.
Ich möchte einen Faktor mit 3 levels dichotomisieren:
also nur noch levels: 0,1
mit labels: 1 Sturz, 2 oder mehr Stürze

------------------------------------------------------------------
Mein bisheriger Versuch:
* Anzahl Stürze letzte 12 Monate (taltp02)

Code: Alles auswählen

dat$taltp02.f <- factor(dat$taltp02,
                           levels = c(1,2,3),
                           labels = c("1 Sturz letzte 12 Monate", "2 Stürze letzte 12 Monate", "Mehr als 2 Stürze letzte 12 Monate"))
* Dichotomisierung Stürze letzte 12 Monate (taltp02)

Code: Alles auswählen

dat$taltp02.d <- dat$taltp02 
levels(dat$taltp02.d) <- list(einSturz = "1 Sturz letzte 12 Monate", zweiundmehr = c("2 Stürze letzte 12 Monate", "Mehr als 2 Stürze letzte 12 Monate"))
-----------------------------------------------------------------

Ich brauche die Variable dichotomisiert, da ich sie für eine als abhängige Variable für logistische Regression benutzen möchte.

LG und danke

Re: Faktor zusammenfassen

Verfasst: Di Dez 29, 2020 1:46 pm
von bigben
Hallo Hanibal,

zwei Ratschläge.:
1. Schau Dir mal an, was ich hier geschrieben habe: viewtopic.php?f=20&t=2162
2. Es ist eine gute Idee von Dir, in einem R-Forum gleich in R Code zu kommunizieren. Der Code wird aber immer gleich viel wertvoller, wenn er mit Daten kommt, mit denen dieser Code auch läuft. Dann haben wir die Möglichkeit, maßgeschneidert zu antworten. Wenn Du beispielsweise das Ergebnis von

Code: Alles auswählen

dput(head(dat$altp02), 30)
hier postest --am besten in [code°]-Tags, dann wertet das Deinen Beispielcode enorm auf.

LG,
Bernhard

Re: Faktor zusammenfassen

Verfasst: Di Dez 29, 2020 4:27 pm
von Hanibal
Danke für deine Rückmeldung, ich habe es jetzt so gelöst:

Code: Alles auswählen

dat$taltp02.d <- dat$taltp02 # Kopie des Faktors
dat$taltp02.d[dat$taltp02.d %in% c(1)] <- 0
dat$taltp02.d[dat$taltp02.d %in% c(2, 3)] <- 1
dat$taltp02.d[dat$taltp02.d %in% c(0)] <- "Ein Sturz"
dat$taltp02.d[dat$taltp02.d %in% c(1)] <- "2 oder mehr Stürze"
dat$taltp02.d<- as.factor(dat$taltp02.d)

Re: Faktor zusammenfassen

Verfasst: Sa Jan 02, 2021 1:16 am
von etlabs
Hallo Hannibal,

für diesen Zweck gibt es im Paket car eine nette Funktion: recode()

Mit dieser Funktion kann man einzelne Werte oder Faktoren beliebig umkodieren und gleichzeitig bei Bedarf auch zusammenfassen.

https://www.rdocumentation.org/packages ... ics/recode
http://www.p-wert.eu/rref/recode-car/

Viele Grüße

Re: Faktor zusammenfassen

Verfasst: Di Jan 05, 2021 5:50 pm
von Hanibal
Danke hat mir weitergeholfen!