何千もの行と 3 つの異なる列を持つ r の配列があります。配列の各行について、最初の列と 3 番目の列に基づいて最初の列を変更したいと考えています。具体的には、3 列目の数値が 1 列目の数値よりも大きい場合は 1 を返し、3 列目の数値が 1 列目の数値よりも小さい場合は 0 を返す必要があります。ランダムに 1 または 0 を選択する必要があるのと同じ数です。
temp[,1]<- sapply(
temp[,1],
function(score){
if(temp[,3]>score){1}
else if(temp[,3]<score){0}else
else if(temp[,3]==score){sample(0:1,1)}})
これは私がこれまでに持っているコードですが、うまく機能していません。「temp[,3]」を呼び出すと、3 番目の列にすべての行を含むベクトルが返されると思います。その行に 1 つのエントリが必要なだけです。 「スコア」で取得した行に対応します。