缺少table()中的列名 - 输出
函数表()将打印表中数据框的列名, 当data.frame()创建时如下:
table(data.frame( var1 = "yes", var2 = "no") )
var2
var1 no
yes 1
但是当我像这样创建data.frame()时,table() - 函数会 不打印任何列名称:
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)
表中没有打印出姓名:
> table( ee$smoking, ee$cvd)
no yes
no 3495 57
yes 2112 75
尽管ee实际上是一个data.frame并且有名字:
> class(ee)
[1] "data.frame"
> names(ee)
[1] "smoking" "cvd"
所以我的问题是为什么table() - 函数在调用时不会打印名称 在ee-data.frame上?
答案 0 :(得分:1)
如果您使用data.frame调用table,它会打印名称,下面的代码可以工作:
table(ee)
cvd
smoking no yes
no 3495 57
yes 2112 75
但是当你致电table(ee$cvd,ee$smoking)
时,它会将它们视为单独的向量,而不是data.frame
答案 1 :(得分:0)
dnn
中有一个table
参数,可以在输入参数为vector
s
table(ee$cvd, ee$smoking, dnn = list("smoking", "cvd"))
# cvd
#smoking no yes
# no 3495 2112
# yes 57 75