让我们说我有两列:
A B
1 1
2 2
3 4
4 4
5 4
6 6
有没有办法计算相似度的百分比,所以在上面的例子中我们发现A列和B列的相同值是67%。
答案 0 :(得分:4)
我们可以在'A'和'B'中取intersect
个元素,得到它length
并除以'{1}}'df1'
nrow
如果比较是在相应的元素之间,请使用paste0(round(100*length(intersect(df1$A, df1$B))/nrow(df1)), "%")
#[1] "67%"
而不是==
,intersect
来自逻辑输出的TRUE值,除以行数....
sum
或者只使用paste0(round(100*with(df1, sum(A==B))/nrow(df1)), "%")
#[1] "67%"
mean
注意:这是我们通过选择任何方法获得相同结果的示例之一。