データフレームに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の値と比較します。
比較するグループを抽出するためにv1を反復処理する2つのforループを作成しました。ただし、forループは次のようなすべての可能な組み合わせを提供します。
A対A
A対B
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の値が含まれるように、データフレームのみを反復処理するにはどうすればよいですか。2番目の反復では、group1にAの値が含まれ、group2にCの値が含まれます。最後の比較group1にはBの値が含まれ、group2にはCの値が含まれます。
私はどういうわけかその問題に完全に立ち往生していて、ここで答えを見つけることを望んでいます。
乾杯!