【问题标题】:How to make a data.frame with one-dimensional output of table()?如何使用 table() 的一维输出制作 data.frame?
【发布时间】:2021-03-07 10:09:31
【问题描述】:

这就是我想要完成的事情

> table(mtcars$cyl)

 4  6  8 
11  7 14 

我需要这种格式的,

mtcars_table <- data.frame(
  "4" = c(11),
  "6" = c(6),
  "8" = c(14))

> print(mtcars_table)
  X4 X6 X8
1 11  6 14

我非常需要分类变量作为我的列和计数作为我的行。 如果有更容易的 dplyr 方法,我也愿意接受。

【问题讨论】:

标签: r dplyr


【解决方案1】:

试试这个:

#Code
mytable <- data.frame(rbind(table(mtcars$cyl)))

输出:

  X4 X6 X8
1 11  7 14

【讨论】:

    【解决方案2】:
    # unclass() + t()
    as.data.frame(t(unclass(table(mtcars$cyl))))
    #    4 6  8
    # 1 11 7 14
    
    # as.list()
    as.data.frame(as.list(table(mtcars$cyl)))
      X4 X6 X8
    1 11  7 14
    
    # Super fast
    data.table::setDF(as.list(table(mtcars$cyl)))[]
    

    【讨论】:

      猜你喜欢
      • 2016-05-10
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多