我有3個不同的組彙總在數據框中。數據幀的樣子:迭代數據框中的組的唯一組合
d <- data.frame(v1 = c("A","A","A","B","B","B","C","C","C"),
v2 = c(1:9), stringsAsFactors = FALSE)
我要的是A的值對B的值也值對B的值,並作爲最後的比較,B的值對C的值進行比較
我構建了2循環以迭代v1來提取要比較的組。然而,在for循環給我的所有可能的組合,如:
A對一個
A對乙
一對丙
乙對一個
乙與乙
。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
所以,在第一次迭代循環組別包含的價值和第2組中包含的B的值第二次迭代group1包含A和group2的值C的值。作爲最後一次比較,group1包含B的值,group2包含C的值。
我在某種程度上完全停留在那個問題上,希望找到在這裏回答。
乾杯!
你想要進行什麼樣的比較? – Alan 2012-07-24 10:10:48
好吧,而不是隻有v2我的原始數據框有多達10列。所以基本上,group1是d的子數據幀,對於v1 == A,有11列(c1 = v1和c2:11 =附加信息)。因此,group2是相同的子集,但具有v1 == B的值。我希望這是有道理的...... – user969113 2012-07-24 10:17:47