【发布时间】:2013-12-13 02:23:27
【问题描述】:
这是我的数据:
group <- c(1,1,1,1,2,2,2,3,3,4,4,4,4)
X1 <- c("A","A","A","A","B","A","B","A","A","B","B","B","B")
X2 <- c("A","A","A","A","B","B","B","A","A","B","B","A","A")
X3 <- c("B","A","A","A","B","B","B","B","B","B","B","B","B")
X4 <- c("A","A","A","B","B","B","A","A","A","B","A","B","B")
X5 <- c("A","A","A","A","B","B","B","A","A","A","B","B","B")
X6 <- c("A","A","A","A","B","A","B","A","A","B","B","A","A")
mydf <- data.frame (group, X1, X2, X3, X4, X5, X6)
因此数据是:
group X1 X2 X3 X4 X5 X6
1 1 A A B A A A
2 1 A A A A A A
3 1 A A A A A A
4 1 A A A B A A
5 2 B B B B B B
6 2 A B B B B A
7 2 B B B A B B
8 3 A A B A A A
9 3 A A B A A A
10 4 B B B B A B
11 4 B B B A B B
12 4 B A B B B A
13 4 B A B B B A
现在我需要将第一行与组中的其余行进行比较。
group X1 X2 X3 X4 X5 X6
1 1 A A B A A A
2 1 A A A A A A
TRUE TRUE FALSE TRUE TRUE TRUE
这里的不匹配仅在 X3 处。六分之一 = 1/6 = 17%
类似地比较第 3 组和第 1 组中的第 1 个。
group X1 X2 X3 X4 X5 X6
1 1 A A B A A A
3 1 A A A A A A
不匹配 = 17%
还将第 4 个与第 1 组中的第 1 个进行比较。
group X1 X2 X3 X4 X5 X6
1 1 A A B A A A
4 1 A A A B A A
不匹配 = 2/6 = 34%
同样适用于第 2 组(第 1 行组,即 5 和 6)
group X1 X2 X3 X4 X5 X6
5 2 B B B B B B
6 2 A B B B B A
不匹配 = 2/6 = 34%
同样:
group X1 X2 X3 X4 X5 X6
5 2 B B B B B B
7 2 B B B A B B
不匹配 = 1/6 = 17%
我的审判:
match (mydf[1,], mydf[2,])
match (mydf[1,], mydf[3,])
【问题讨论】:
-
您能否给出您的确切预期输出,包括数据结构?
-
同一组中的每一行是否获得相同的分数?
-
@josilber 第一行与 2 进行比较并产生不匹配百分比,然后将第一行与 3 进行比较并产生不匹配,依此类推。这个想法是每个组中的第一行作为模板