【问题标题】:Get counts of the levels in summary(model) in R获取 R 中摘要(模型)中的级别计数
【发布时间】:2015-12-25 23:20:57
【问题描述】:

我在具有许多不同因素的二项式模型上运行 GLM。我想找到一种方法来获取所有级别的计数。通过 table() 手动找到它们的级别太多了。例如,假设我有一个名为颜色的解释变量,它具有三个可能的级别(“红色”、“蓝色”和“黄色”)。有没有办法找到所有三个级别的计数?

【问题讨论】:

  • table(data$color) 有什么问题?我不确定我是否理解你的困境
  • 我的实际数据集有太多变量来执行此操作。 3 个变量各有 100 多个级别。我正在寻找一种将计数存储在向量中的方法。 table() 在我的情况下不起作用
  • as.data.frame(table(data$color)) 将表格转换为 data.frame,您可以从中访问 Freq 作为频率向量。或者只是as.vector(table(data$color))
  • 为什么table 不起作用?你也可以试试tabulate(),如果速度有问题的话会快一点
  • 男孩,一个可重复的例子肯定会膨胀

标签: r glm lm


【解决方案1】:

只需使用summary

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

【讨论】:

    【解决方案2】:

    注意:确保删除您的响应变量(例如: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]))
        }
    }
    

    【讨论】:

      【解决方案3】:

      如果我正确理解了您的问题,您应该可以使用我的包裹 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")
      

      【讨论】:

        猜你喜欢
        • 2022-06-27
        • 2023-01-26
        • 2021-12-16
        • 1970-01-01
        • 2019-05-25
        • 1970-01-01
        • 1970-01-01
        • 2020-10-16
        • 1970-01-01
        相关资源
        最近更新 更多