如何使用True/False根据匹配标记行簇?

如何使用True/False根据匹配标记行簇?,r,matching,R,Matching,使用此R函数,我可以看到行簇的匹配比率: # Matching ratio function match_ratio <- function(x) cbind(x, match_ratio = rowMeans(mapply(`==`, x[1, -1], x[, -1]))) 样本输出将是 ID Var1 Var2 1 True False 1 True False 2 False True 2 False True 因此,集群基于ID。1是一个

使用此R函数,我可以看到行簇的匹配比率:

# Matching ratio function
match_ratio <- function(x)
  cbind(x, match_ratio = rowMeans(mapply(`==`, x[1, -1], x[, -1])))
样本输出将是

ID  Var1   Var2
1   True   False
1   True   False
2   False  True
2   False  True

因此,集群基于ID。1是一个集群,正如2一样。

a
dplyr
方法:

library(dplyr)

df %>% group_by(ID) %>% mutate_all(funs(n_distinct(.) == 1))

     ID  Var1  Var2
  <int> <lgl> <lgl>
1     1  TRUE FALSE
2     1  TRUE FALSE
3     2 FALSE  TRUE
4     2 FALSE  TRUE
库(dplyr)
df%>%group_by(ID)%>%mutate_all(funs(n_distinct(.)==1))
ID Var1 Var2
1对错
2 1对错
3.2假真实
4.2假真实

你在说什么行簇?您应该包括一个示例输入和所需输出。请参阅编辑。谢谢,谢谢!这很好用。还有客场比赛吗?假设被比较的细胞共享80%的字母。再次感谢。这取决于你的“模糊”匹配是什么。在进入制表步骤之前,可能更容易进行这种类型的数据“清理”
library(dplyr)

df %>% group_by(ID) %>% mutate_all(funs(n_distinct(.) == 1))

     ID  Var1  Var2
  <int> <lgl> <lgl>
1     1  TRUE FALSE
2     1  TRUE FALSE
3     2 FALSE  TRUE
4     2 FALSE  TRUE