R 中类别的矩阵表示
Matrix representation of categories in R
我有一列包含一组类别,例如类别 1、类别 2、类别 3、类别 2 等
有什么方法可以在 R 中将它们表示为具有以下视图的矩阵:
Category1 Category2 Category3
1 0 0
0 1 0
0 0 1
0 1 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
我有一列包含一组类别,例如类别 1、类别 2、类别 3、类别 2 等 有什么方法可以在 R 中将它们表示为具有以下视图的矩阵:
Category1 Category2 Category3
1 0 0
0 1 0
0 0 1
0 1 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