一个人应该如何与班级一起工作table
?我需要对table()
结果进行一些计算,现在我将表取消分类并将其强制转换为数据框。这是一种很好的做法,或者有更好(更快)的方法。我有以下示例:
x <- data.frame(a=c(1,1,1,1,1,1,0,0,0,0,0,0,0),
b=c('a','a','b','b','a','a','b','b','a','a','b','b','a'))
t <- table(x$b,x$a)
t <- data.frame(unclass(t))
sum(log((t$X0/sum(t$X0)) / (t$X1/sum(t$X1))) * ((t$X0/sum(t$X0)) - (t$X1/sum(t$X1))))
编辑:我发现我可以使用prop.table
,但问题仍然相同:
t <- data.frame(unclass(prop.table(table(x$b,x$a),margin=2)))
sum(log(t$X0/t$X1) * (t$X0 - t$X1))