2017-01-26 1 views
0

Spaltennamen aus der Tabelle fehlt() - AusgabeNamen aus der Tabelle fehlt(), wenn auf einer bestimmten data.frame() mit Spaltennamen genannt

Die Funktionstabelle() die Spaltennamen des Druck Datenrahmen in der Tabelle, wenn die data.frame() wird wie folgt erstellt:

table(data.frame(var1 = "yes", var2 = "no")) 
    var2 
var1 no 
    yes 1 

Aber wenn ich die data.frame() wie folgt zu erstellen, die Tabelle() - Funktion wird keine Spalte drucken Namen:

e1 <- data.frame(smoking = "no", cvd = "no") 
e1 <- e1[rep(1,3495),] 
e2 <- data.frame(smoking = "no", cvd = "yes") 
e2 <- e2[rep(1,57), ] 
e3 <- data.frame(smoking = "yes",cvd = "no") 
e3 <- e3[rep(1,2112),] 
e4 <- data.frame(smoking = "yes",cvd = "yes") 
e4 <- e4[rep(1,75),] 
ee <- rbind(e1,e2,e3,e4) 

Keine Namen sind in der Tabelle gedruckt:

> table(ee$smoking, ee$cvd) 

     no yes 
    no 3495 57 
    yes 2112 75 

Trotz der ee tatsächlich ein data.frame und hat Namen:

> class(ee) 
[1] "data.frame" 
> names(ee) 
[1] "smoking" "cvd"  

Also meine Frage ist, warum tut die Tabelle() - Funktion druckt Namen nicht, wenn auf dem ee-data.frame aufgerufen wird?

Antwort

1

Es tut die Namen drucken, wenn Sie Tabelle mit dem data.frame nennen, die folgenden Code funktioniert:

table(ee) 
     cvd 
smoking no yes 
    no 3495 57 
    yes 2112 75 

Aber wenn man table(ee$cvd,ee$smoking) nennen es behandelt sie als einzelne Vektoren und kein data.frame

0

Es gibt ein dnn Argument in table, die in Fällen, in denen das Eingabeargument sind funktionieren könnte vector s

table(ee$cvd, ee$smoking, dnn = list("smoking", "cvd")) 
#  cvd 
#smoking no yes 
# no 3495 2112 
# yes 57 75 
Verwandte Themen