2

代わりに for ループで動作する関数を lapply で実行しようとしています。私はRに非常に慣れていないため、lapplyに慣れていません。特に「if」条件の作り方がわかりません。

forループを使用した現在のコードは次のようになります(ボリュームシリーズを正規化します):

function(TableVolume,VolumeM,VolumeStD,n){
TableBN = TableVolume[n:nrow(TableVolume),]

for(k in 1:nrow(TableBN)){for (i in 2:ncol(TableBN)){if(!is.na(VolumeM[k,i]) && (VolumeM[k,i]) && (TableVolume[n-1+k,i]>VolumeM[k,i]+1.96/sqrt(n)*VolumeStD[k,i])){TableBN[k,i]=TableVolume[n-1+k,i]/VolumeM[k,i]}else{TableBN[k,i]=0}}}
TableBN=TableBN[n:nrow(TableVolume),]
return(TableBN)
}

Apply over two data framesから、2 つのデータ フレームで機能する関数を実行する方法を知っていますが、テストの処理方法はまだわかりません。

ご支援ありがとうございます、ヴィンセント

4

1 に答える 1