2015-09-28 22 views
0

我在一个具有很多不同因素的二项式模型上运行GLM。我想找到一种方法来获取所有级别的计数。有太多的级别可以通过table()手动找到它们。举例来说,假设我有一个称为颜色的解释变量,它有三个可能的级别(“红色”,“蓝色”和“黄色”)。无论如何找到所有三个级别的计数?获取R中总结(模型)中的水平的计数

+0

什么是th发行'table(data $ color)'?我不确定我是否理解你的困境 – Whitebeard

+0

我的实际数据集有太多的变量来做到这一点。 3个变量各有100多个等级。我正在寻找一种将计数存储在向量中的方法。在我的情况下,table()不起作用 –

+0

'as.data.frame(table(data $ color))'将表转换为data.frame,从中可以将Freq作为频率的向量。或者只是'as.vector(table(data $ color))' – Whitebeard

回答

0

注意:一定要删除你的响应变量(例如:df $ response = NULL)

count = vector() 

for (i in 1:length(df)){ 

    if (is.factor(df[,i])){ 

     count = c(count, as.numeric(table(df[,i])[-1])) 
    } 
    else{ 
     count = c(count, length(df[,i])) 
    } 
} 
0

只需使用summary

x<-rep(c("red","blue","yellow"),10) 
x<-factor(x) 
summary(x) 
0

如果我正确理解你的问题,你应该能够从我的包library(imputeMulti)与内部的一个做到这一点:

# generate a reproducible example 
install.packages("imputeMulti") 
# dev version: devtools::install_github("alexwhitworth/imputeMulti") 
library(imputeMulti) 

data(tract2221) 
# get counts on first 5 factor variables 
test <- multinomial_stats(tract2221[,1:5], output= "x_y")