【发布时间】:2018-08-30 17:52:05
【问题描述】:
我有两个测试组的结果(每组测试相同的样本),我想评估两组结果之间的异同。我想在两组结果之间对不同级别的匹配进行评分,从 1 到 4。对于每个样本,都有由“+”分隔的成对结果。如果两个结果相同,我希望得分为 1,如果它们匹配但对于一个或另一个基因不明确(用“/”表示),则得分为 2,得分 3 = 如果第 1 组的结果不明确,但组2 是明确的,但他们共享一个基因,得分 4 = 如果第 2 组的结果不明确,但第 1 组是明确的,但他们共享一个基因,得分 0 = 不匹配,即两个组的结果不共享任何基因顺序。
Group1 Group2 Match
Y*01:01+Y*01:01 Y*01:01+Y*01:01 1
Y*01:03+Y*01:01 Y*01:01+Y*01:03 1
Y*01:01:02+Y*01:01:01 Y*01:01:02+Y*01:01:01 1
Y*01:01/Y*01:02+Y*01:01 Y*01:01/Y*01:02+Y*01:01 2
Y*01:01/Y*01:02+Y*01:01/Y*01:02 Y*01:01/Y*01:02+Y*01:01/Y*01:02 2
Y*01:01/Y*01:02+Y*01:01 Y*01:02+Y*01:01 3
Y*01:03+Y*01:01 Y*01:03/Y*01:06+Y*01:01 4
Y*01:01+Y*01:02 Y*01:03+Y*01:04 0
Y*01:01/Y*01:02+Y*01:01/Y*01:02 Y*01:03/Y*01:04+Y*01:06/Y*01:06 0
我尝试了以下公式,但它给出了匹配的总体“真”分数,不匹配的“假”。我不知道如何调整它以生成不同级别的匹配
df = as.data.frame(mapply(function(x,y) all(x==y),
lapply(strsplit(df$`group1`, "[+]"), sort),
lapply(strsplit(df$`group2`, "[+]"), sort)))
【问题讨论】:
标签: r