我正在使用 R 进行一些计算,但我想知道是否可以使用 3 个变量创建一个 if 语句。
例如:
for(d3 in unique(df2$V1))
{
for(d1 in 1:nrow(df1))
{
for(d2 in 1:nrow(df2))
{
if(df1[d1,]$V1 == df2[d2,]$V2 == d3)
{
oneV1 = subset(df2, V1==d3)
minerrV2 =subset(oneV1,erV2==min(V2))
minerrV3 =subset(oneV1, erV3==min(V3))
cverV2 = sum(df1$erV2 <= minerrV2$erV2)
cverV3 = sum(df1$erV3 <= minerrV3$erV3)
pV2 = cverV2/nrow(df1)
pV3 = cverV3/nrow(df1)
fres <- rbind(fres, data.frame(nV1=df1[d1,]$V1, nV4=df2[d2,]$V4, npV2=pV2,npV3=pV3 ))
}
}
}
}
除了做很多 if 语句之外,在 R 中有没有一种简单的方法来做到这一点?
**EDIT**
这是一种带有特殊参数的置换测试。这可以使用合并来完成,而且比 for 循环更快吗???