两列之间的相似性百分比
Percentage of similarity between two colulmns
假设我有两列:
A B
1 1
2 2
3 4
4 4
5 4
6 6
有没有一种方法可以计算相似度百分比,以便在上面的示例中我们发现 A 列和 B 列有 67% 相同。
我们可以取 'A' 和 'B' 中元素的 intersect
,得到它的 length
然后除以 [=31= 的 nrow
]
paste0(round(100*length(intersect(df1$A, df1$B))/nrow(df1)), "%")
#[1] "67%"
如果在相应元素之间进行比较,请使用 ==
而不是 intersect
,sum
来自逻辑输出的 TRUE 值,除以行数....
paste0(round(100*with(df1, sum(A==B))/nrow(df1)), "%")
#[1] "67%"
或者直接使用mean
paste0(round(100*with(df1, mean(A==B))), "%")
#[1] "67%"
注意:这是我们通过选择任何方法得到相同结果的示例之一。
假设我有两列:
A B
1 1
2 2
3 4
4 4
5 4
6 6
有没有一种方法可以计算相似度百分比,以便在上面的示例中我们发现 A 列和 B 列有 67% 相同。
我们可以取 'A' 和 'B' 中元素的 intersect
,得到它的 length
然后除以 [=31= 的 nrow
]
paste0(round(100*length(intersect(df1$A, df1$B))/nrow(df1)), "%")
#[1] "67%"
如果在相应元素之间进行比较,请使用 ==
而不是 intersect
,sum
来自逻辑输出的 TRUE 值,除以行数....
paste0(round(100*with(df1, sum(A==B))/nrow(df1)), "%")
#[1] "67%"
或者直接使用mean
paste0(round(100*with(df1, mean(A==B))), "%")
#[1] "67%"
注意:这是我们通过选择任何方法得到相同结果的示例之一。