从原始数据创建矩阵

时间:2018-03-01 16:26:31

标签: r matrix

我的数据如下:

> head(data, 20)
# A tibble: 20 x 2
   hosp   zip  
   <chr>  <chr>
 1 010001 14843
 2 010001 36303
 3 010016 13320
 4 010021 10468
 5 010023 36040
 6 010023 36116
 7 010023 36116
 8 010023 36116
 9 010024 36401
10 010029 10025
11 010029 11412
12 010029 11733
13 010033 14086
14 010033 14701
15 010033 35244
16 010034 12308
17 010038 11413
18 010039 10011
19 010039 11704
20 010039 35749

hosp是医院ID,zip是邮政编码。每家医院的患者都来自多个邮政编码。如何为每家医院创建一个矩阵,每个邮政编码中有多少患者? 理想的矩阵是这样的:

zip     010001  010016   010021   ... hosp
14843   1       0        0        
36303   1       0        0
13320   0       1        0
10468   0       0        1

谢谢!

1 个答案:

答案 0 :(得分:1)

正如评论中所述,您可以使用tablet()函数将邮政编码放在左侧:

t(as.matrix(table(data)))