计算唯一标识符并分层

时间:2019-02-12 02:15:46

标签: r

所以我有一个包含89个变量的大型数据集,其中多个是唯一的标识符,这些标识符是关系数据库中的数据。我想看到第二个变量交叉引用的唯一标识符的频率吗?

即 这不起作用,但是我认为会起作用-

length(unique(data$PID ~ data$ICD_grouping)

返回表

ICD_grouping        unique.PID
C43                   5
C47/C49               1
C50                   2
C56                   1
C57-C58               1
C80                   1

样本数据

 PID ICD_Grouping
1     1          C80
2   918          C43
3   919          C43
4   919          C43
5  1284             
6  1285             
7   550          C43
8   550          C43
9   550          C43
10  550          C50
11  920          C43
12  920          C43
13  921          C50
14  921          C56
15  921       C57-58
16  921       C57-58
17  549          C43
18  549          C43
19  922       C47/49
20  551          C43

1 个答案:

答案 0 :(得分:1)

我对您的问题陈述尚不完全清楚,但是只要我对您的理解正确(很遗憾,您没有提供示例数据),我们可以使用table。这是一个基于mtcars

的可复制的最小示例
table(mtcars$gear, mtcars$carb)
#
#    1 2 3 4 6 8
#  3 3 4 3 5 0 0
#  4 4 4 0 4 0 0
#  5 0 2 0 1 1 1

输出是table类型的对象,并显示mtcars$gear(行)和mtcars$carb(列)的值的频率。如果您希望使用长data.frame,我们可以

as.data.frame(table(mtcars$gear, mtcars$carb))
#   Var1 Var2 Freq
#1     3    1    3
#2     4    1    4
#3     5    1    0
#4     3    2    4
#5     4    2    4
#6     5    2    2
#7     3    3    3
#8     4    3    0
#9     5    3    0
#10    3    4    5
#11    4    4    4
#12    5    4    1
#13    3    6    0
#14    4    6    0
#15    5    6    1
#16    3    8    0
#17    4    8    0
#18    5    8    1

此处Var1对应于mtcars$gear的值,Var2对应于mtcars$carb的值。