gpt4 book ai didi

r - 将 "table"类的对象转换为 R 中的矩阵

转载 作者:行者123 更新时间:2023-12-04 01:00:10 26 4
gpt4 key购买 nike

我很难从“表”类的对象转换为矩阵:

我有一个分类变量(R 中的一个因子)并且我正在使用它的计数。我将此计数存储在表中:

my.table = table(my.dataframef$cat.variable)
class(my.table)
[1] "table"

使用此表绘制一些条形图后,我想做一个分段条形图,因此我需要矩阵形式的这些信息。
这就是我正在做的事情,但它不起作用(元素的顺序不正确):
my.matrix = matrix(my.table, nrow = n.matrix.rows, ncol = n.matrix.cols)

通过手动将每个元素分配到其位置,我已经解决了 2x2 矩阵的问题:
my.matrix = matrix (c(my.table[4],my.table[3],my.table[2],my.table[1]),
nrow=2,ncol=2)

我想知道是否有一种“自动方式”来做到这一点,因为使用更大的矩阵,它会成为一项艰巨的任务......

谢谢你的帮助,我很感激!

最佳答案

好吧,如果您知道表是附加了额外类“表”的数组,那并不难:您只需 unclass() :

> tab <- structure(c(686L, 337L, 686L, 466L), .Dim = c(2L, 2L), 
.Dimnames = list( c("male(mnt)", "female(mnt)"),
c("male(auth)", "female(auth)" )))
> tab
male(auth) female(auth)
male(mnt) 686 686
female(mnt) 337 466
> (mat <- unclass(tab))
male(auth) female(auth)
male(mnt) 686 686
female(mnt) 337 466
> class(mat)
[1] "matrix"
>

关于r - 将 "table"类的对象转换为 R 中的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30290205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com