我在一个数据框中总结了 3 个不同的组。数据框如下所示:
d <- data.frame(v1 = c("A","A","A","B","B","B","C","C","C"),
v2 = c(1:9), stringsAsFactors = FALSE)
我想要的是将 A 的值与 B 的值进行比较。A 的值也与 B 的值进行比较,最后将 B 的值与 C 的值进行比较
我构造了 2 个 for 循环来迭代 v1 以提取要比较的组。然而,for循环给了我所有可能的组合,比如:
甲与甲
甲与乙
A与C
B 与 A
B 与 B
B 与 C
C与A等等......
这是我的for循环:
for(i in unique(d$v1)) {
for(j in unique(d$v1)) {
cat("i = ", i, "j = ", j, "\n")
group1 <- d[which(d$v1 == i), ]
group2 <- d[which(d$v1 == j), ]
print(group1)
print(group2)
cat("---------------------\n\n")
}
}
我怎样才能设法只迭代数据帧d
,以便在第一次迭代中 group1 包含 A 的值,group2 包含 B 的值。在第二次迭代中 group1 包含 A 的值和 group2 的值 C。作为最后比较 group1 包含 B 的值, group2 包含 C 的值。
我不知何故完全被这个问题所困扰,并希望在这里找到答案。
干杯!