Seite 1 von 1

Crosstables

Verfasst: Mo Dez 19, 2022 5:03 pm
von Christian
Hallo zusammen,
ich habe folgende Herausforderung(en):
Ich möchte mithilfe des Pakets "crosstable" eine Reihe von gut lesbaren Kreuztabellen erstellen, die alle die abhängige Variable haben (hier: col 9).
Der Befehl, eine einzelne Kreuztabelle (z.B. col 8 by col 9) zu erzeugen, klappt.
1. Frage: Gibt es eine Funktion (ähnlich lapply), die es erlaubt, als Schleife für mehrere Variablen die Kreuztabelle zu erstellen, ohne alles neu zu schreiben?

Code: Alles auswählen

## install.packages("crosstable")
library(crosstable)
data_cross <- crosstable(data = data, cols = 8, by = 9, total = 'both',    label = TRUE, showNA = "always", percent_pattern = "{n} ({p_row})", percent_digits = 1, num_digits = 2)
data_cross
2. Frage: Die Daten sind gelabelt, das wird in crosstable für die unabhängigen Variablen (= Zeilen) auch schön dargestellt. Es wird aber NICHT der Variablenname der abhängigen Variablen (Spalte) angezeigt. Weiß jemand, wie das funktioniert?

Re: Crosstables

Verfasst: Fr Dez 23, 2022 8:22 pm
von EDi
1. Frage: Gibt es eine Funktion (ähnlich lapply), die es erlaubt, als Schleife für mehrere Variablen die Kreuztabelle zu erstellen, ohne alles neu zu schreiben?
Verstehe ich nicht, dass kann doch die Funktion schon..

Code: Alles auswählen

crosstable::crosstable(iris)
macht das für alles Spalten. Du hast halt nur cols = 8 ausgewählt.

Ansonsten ist lapply oder das purrr Paket hilfreich für funktionelles programmieren

Code: Alles auswählen

lapply(seq_len(ncol(iris)), function(col) crosstable::crosstable(iris, cols = col))
purrr::map(seq_len(ncol(iris)), ~crosstable::crosstable(iris, cols = .x))
Für zielgerichtetere Hilfe bitte ein reproduzierbares Beispiel posten.

Re: Crosstables

Verfasst: Mi Jan 04, 2023 9:30 am
von Christian
OK, vielen Dank, das hat mir schon geholfen!