R中类别的矩阵表示

时间:2015-03-17 22:14:21

标签: r data-representation

我有一个包含一组类别的列,例如Category1,Category2,Category3,Category2等 有没有办法在R中将它们表示为矩阵,并带有以下视图:

Category1 Category2 Category3
        1         0         0
        0         1         0
        0         0         1
        0         1         0
        ...       ...       ...

非常感谢任何反馈。

1 个答案:

答案 0 :(得分:0)

我会做以下事情:

matrixForm <- function(X) {
   values <- sort(unique(X))
   outM <- matrix(0, nrow=length(X), ncol=length(values))
   for (i in 1:ncol(outM)) outM[,i] <- as.numeric(X==values[i])
   colnames(outM) <- values
   return(outM)
}

X是字符的输入向量。结果......

X <- c('Category1','Category2','Category2','Category3','Category1','Category3')
matrixForm(X)
#################
     Category1 Category2 Category3
[1,]         1         0         0
[2,]         0         1         0
[3,]         0         1         0
[4,]         0         0         1
[5,]         1         0         0
[6,]         0         0         1