【问题标题】:any straightforward way to convert `table` to `matrix`?将“表”转换为“矩阵”的任何直接方法?
【发布时间】:2020-01-08 15:22:18
【问题描述】:

我有一张桌子tb,例如

tb <- table(mtcars[c("carb","cyl")])
> tb
    cyl
carb 4 6 8
   1 5 2 0
   2 6 0 4
   3 0 0 3
   4 0 4 6
   6 0 1 0
   8 0 0 1

在哪里

> class(tb)
[1] "table"

我想知道是否有更直接的方法将tbtable 转换为matrix,即,

mtb <- as.matrix(as.data.frame.matrix(tb))

这样

> mtb
  4 6 8
1 5 2 0
2 6 0 4
3 0 0 3
4 0 4 6
6 0 1 0
8 0 0 1

> class(mtb)
[1] "matrix"

这是我为转换所做的,但由于同时使用了as.matrix()as.data.frame.matrix(),我认为这并不简单。

提前欣赏!

【问题讨论】:

    标签: r matrix data-conversion


    【解决方案1】:

    你可以这样做:

    unclass(table(mtcars[c("carb","cyl")]))
    

    检查类:

    class(unclass(table(mtcars[c("carb","cyl")])))
    
    [1] "matrix"
    

    【讨论】:

    • 谢谢!我猜 "mtb class<-(tb,"matrix") " 也可能是一个解决方案,但你的更直接:)
    • 我认为你也可以使用它,是的:)
    【解决方案2】:

    试试这个:

    m = matrix(data = tb,nrow = nrow(tb),ncol = ncol(tb),byrow = FALSE,dimnames = list(c(1,2,3,4,6,8),c(4,6,8)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      相关资源
      最近更新 更多