r - 从 R 创建一个由 0 和 1 组成的矩阵
问题描述
我想根据以下数据创建一个 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.matrix
在base 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))
推荐阅读
- javascript - 爸爸每日笑话 API 返回未定义
- class - symfony 5:双向类关系中的映射错误
- java - 从另一个控制器调用方法时出现空指针异常
- c++ - 分配和仅使用 = 用于字符串之间的区别
- flowchart - 美人鱼流程图:如何绘制箭头脱离箭头(不是节点)?
- python-3.x - 如何在python中将带有文本和注释的pdf转换为图像类型的pdf?
- tensorflow - 旋转图像以减少训练图像数量
- java - 在 MacOS(m1 芯片)上构建 JavaFX 项目,在 windows 10 上运行 .jar 文件
- r - 有没有办法返回具有特定平均列值的行的名称?
- express - Ts.ED 简单静态服务器意外404故障