在过去的两天里,我一直被这个问题困扰:(。这就是我的数据集的样子。
V1 V2 V3 V4 V5 V6
1 1.347256 1.347 1 3300 -3399 1
2 1.353107 1.353 2 4021 -5155 1
3 1.356644 1.357 3 4480 -6859 1
4 1.362766 1.363 2 6471 -11369 1
5 1.368889 1.369 4 5102 -6463 1
6 1.381361 1.381 2 4346 -2940 1
1.347256 1.347 1 3301 -3395 2
1.354150 1.354 1 3579 -5156 2
1.356644 1.357 1 4478 -6863 2
1.362766 1.363 1 6465 -11373 2
1.368889 1.368 1 5103 -6463 2
1.405488 1.405 1 1827 -3415 2
我想比较 V6 为 1 和 V6 为 2 时 V2 中的值。并且需要精确子集 V6=1 的值在子集 V6=2 中任何值的 +/- 0.003 范围内。
例如:应该考虑 V6==2 数据的前 5 个,并且我想以某种方式检索这些行中的信息。
重要提示:2 个子集的长度不同!
这是我的策略。我首先对数据库进行子集化。
ele1 <- subset(data, V6==1)
clus1 <- subset(ele1, V3==1)
ele2 <-subset(data, V6==2)
然后我认为最好的策略可能是获得 2 个子集之间所有可能的差异。然后选择那些将导致范围 +/- 0.003 的差异。
在我做过的所有试验中,这是最好的一个:
for (i in 1:clus1$V2)
for (j in 1:ele2$V2)
{
diff<-(i-j)
if (diff>-0.003)& (diff<0.003)
{
res<-("number of row with the wanted walues")
}
}
好吧,我知道这可能是完全错误的(至少它可能会让你们中的一些人发笑)。我刚刚开始尝试编程:)。感谢您提供任何类型的输入!!
玩得开心