Mit Hilfe der Tabelle() erstellen 3 variabler Frequenz-Tabelle in R

Ich bin neu in R und Suche nach etwas Hilfe. Ich verstehe das folgende problem ist relativ einfach, und geschaut haben, für die sich ähnliche Fragen. Keiner geben ganz die Antwort, die ich Suche - jede Hilfe würde geschätzt werden.

Das problem:

Herstellung eines Frequenz-Tabelle mit den table() Funktion für die drei Variablen mit Daten im format:

    Var1    Var2   Var3
1   0        1        0
2   0        1        0
3   1        1        1
4   0        0        1

Wo, 0 = "Nein" und 1 = "ja"

Und der final table ist in folgenden format mit Variablen und Werte gekennzeichnet:

           Var3
           Yes   No
Var1  Yes   1     0
      No    1     2
Var2  Yes   1     2
      No    1     0

Was ich bisher versucht habe:

Verwenden Sie den folgenden code, ich bin in der Lage zu produzieren eine 2-Variablen-Tabelle mit labels für die Variablen, aber nicht für die Werte (zB. Nein und ja).

table(data$Var1, data$Var3, dnn = c("Var1", "Var3"))

Sieht es wie folgt aus:

      Var3
Var1  0  1
   0  2  1
   1  0  1

Versuchen, die Beschriftung der Zeilen-und Spaltenwerte (0 = Nein und 1= ja) ich verstehe row.names und responseName können verwendet werden, jedoch wird der folgende Versuch auf label-Zeile Namen gibt all arguments must have the same length Fehler.

> table(data$Var1, data$Var2, dnn = c("Var1", "Var2"), row.names = c("No", "Yes"))

Habe ich auch versucht, mit Hilfe ftable() jedoch die Form der Tabelle hergestellt untenstehende code ist nicht korrekt was in falschen Frequenzen für das problem. Das Problem mit der Beschriftung der Zeile & col-Werte besteht.

> ftable(data$Var1, data$Var2, data$Var3, dnn = c("Var1", "Var2", "Var3"))
      Var3  0  1
Var1 Var2             
0     0     0  1
      1     2  0
1     0     0  0
      1     0  1

Jede Hilfe zu table() erzeugen Sie eine Tabelle der Form gewünscht würde sehr geschätzt werden.

Konvertieren Sie Ihre Daten in Faktoren ersten kümmern sich um die Frage: dat <- data.frame(lapply(dat, factor, levels=1:0, labels=c("Yes","No")))
Danke, das ist sehr hilfreich und ist perfekt für die Lösung der labeling-problem.

InformationsquelleAutor Alison Bennett | 2015-05-25

Schreibe einen Kommentar