我有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