所以我有一个包含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
答案 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
的值。