【发布时间】:2022-07-20 11:35:49
【问题描述】:
我有以下数据:
df <- data.frame(
group = c('r1','r2','r3','r4'),
X1 = c('A','B','C','K'),
X2 = c('A','C','M','K'),
X3 = c('D','A','C','K')
)
> df
group X1 X2 X3
1 r1 A A D
2 r2 B C A
3 r3 C M C
4 r4 K K K
我想根据X1、X2 和X3 列估算“相似度得分”。例如,在group r1(或第 1 行)内,3 个元素中有 2 个是相似的,因此得分为 2/3(~67%)。而group r4(或第 4 行),得分为 3/3 (100%)。期望的结果如下:
> df
group X1 X2 X3 similarity_score
1 r1 A A D .67
2 r2 B C A .33
3 r3 C M C .67
4 r4 K K K 1
我怎样才能做到这一点?
【问题讨论】:
-
这是一个绝妙的问题,有很多绝妙的答案