从R创建一个由零和一组成的矩阵

我想根据以下数据创建一个由 0 和 1 组成的矩阵。

    id <-c(1,1,1,2,2,3)
    x<- c(5,7,8,2,6,5)
    data_toy <- data.frame(id,x)
   data_toy%>% count(id) 

> data_toy%>% count(id) 
  id n
1  1 3
2  2 2
3  3 1

所以根据数据,我需要创建一个 6X3 矩阵,其中第一列应该是 (1,1,1,0,0,0),第二列应该是 (0,0,0,1,1,0) 所以在。

你能建议什么来做到这一点吗?

谢谢

回答

我们可以model.matrixbase R

model.matrix(~ factor(id) - 1, data_toy)

-输出

#   factor(id)1 factor(id)2 factor(id)3
#1           1           0           0
#2           1           0           0
#3           1           0           0
#4           0           1           0
#5           0           1           0
#6           0           0           1

或使用 table

with(data_toy, table(seq_along(id), id))

  • You always teach us new functions. +1

以上是从R创建一个由零和一组成的矩阵的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>