[英]How to convert from a matrix to a contingency table?
我有以下矩陣
matrix(c(1228,39,2,158,100,649,1,107,1,0,54,9,73,12,4,137), nrow=4)
[,1] [,2] [,3] [,4]
[1,] 1228 100 1 73
[2,] 39 649 0 12
[3,] 2 1 54 4
[4,] 158 107 9 137
並且我想將其轉換為具有命名“ axes”和有序列名的列聯表(基本上保留現有的列行索引)。 換句話說,有些像:
Variable 1
[,1] [,2] [,3] [,4]
[1,] 1228 100 1 73
var2[2,] 39 649 0 12
[3,] 2 1 54 4
[4,] 158 107 9 137
您可以在創建matrix
時分配dimnames
m = matrix(c(1228,39,2,158,100,649,1,107,1,0,54,9,73,12,4,137), nrow=4)
matrix(m, nrow = NROW(m), dimnames=list(var1 = sequence(NROW(m)), var2 = sequence(NCOL(m))))
# var2
#var1 1 2 3 4
# 1 1228 100 1 73
# 2 39 649 0 12
# 3 2 1 54 4
# 4 158 107 9 137
實際上,您也可以在創建m
時一開始就使用dimnames
我們可以使用dimnames
和names
dimnames(m1) <- list(NULL, NULL)
names(dimnames(m1)) <- c("Var2", "Variable 1")
m1
# Variable 1
#Var2 [,1] [,2] [,3] [,4]
# [1,] 1228 100 1 73
# [2,] 39 649 0 12
# [3,] 2 1 54 4
# [4,] 158 107 9 137
或一行
dimnames(m1) <- list(Var2 = NULL, `Variable 1` = NULL)
或另一種寫法
dimnames(m1) <- setNames(vector("list", 2), c("Var2", "Variable 1"))
m1 <- matrix(c(1228,39,2,158,100,649,1,107,1,0,54,9,73,12,4,137), nrow=4)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.