gpt4 book ai didi

r - 计算逻辑向量的相似度

转载 作者:行者123 更新时间:2023-12-04 09:30:16 24 4
gpt4 key购买 nike

我有两个逻辑向量,我想测量 TRUE 值的接近(相似)程度。例如,如果我们有这两个向量:

df<- data.frame(c(T,F,F,F,T,T,F,T),c(F,T,F,T,F,T,F,T))
我试过这个:
sum((df[1]&df[2])==T)
[1] 2
但问题是我只有在同一个地方的 TRUE 数量,但我想知道它们有多接近,并用这种方法比较不同的向量。我知道对于数值向量有办法做到这一点(例如欧几里德距离),但我没有找到任何逻辑向量的等价物。
编辑:值的位置改变两个向量之间的相似性很重要,例如在这个数据帧中:
  [,1] [,2] [,3] [,4]
a 1 0 0 0
b 0 1 0 0
c 0 0 0 1
向量 a 和 b 之间的相似度应该大于 b 和 c 之间的相似度

最佳答案

ade4包有一个方便的功能dist.binary()计算二进制数据的各种距离/索引(将 TRUE/FALSE 视为 1/0)。您可能想查找有关简单匹配系数或 jaccard 索引的详细信息,这里是 paper处理分类数据的相似性度量。
例如使用简单匹配系数的相似度:

names(df) <- c("a", "b")
df <- t(as.matrix(sapply(df, as.numeric)))

ade4::dist.binary(df, method = 2L)
          a
b 0.7071068

关于r - 计算逻辑向量的相似度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62873762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com