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 ループよりも高速に実行できますか???