2017-06-22 4 views
0

現在、私は8列の配列を持ち、行は人を参照しています。私は、適用関数を使ってその人の別の列の値に基づいて、ある列の値を1または0に変更したいとします。rの適用関数を使用して配列内の要素を変更する

私はすでにので、結果配列が一人一人がrunif()を使用して一様乱数を割り当てられている「Risk_Factor」と呼ばれるベクトルを有する

for(i in 1:nrow(OutComes)) { 
    if(OutComes[i,"Risk_Factor"] > 0.7) { 
    OutComes[i,"OnsetAge"] = 1 
    } else { 
    OutComes[i,"OnsetAge"] = 0 
    } 
} 

あるループ、でこれを持っています。この数値が0.7より大きい場合、列「Onset Age」の同じ行に沿った要素が変更されます。

これは適用機能でどのように機能しますか? 私は検索しましたが、役に立たないものは見つかりませんでした。

+0

かもしれない、それは[リンク]を助け、このリンクを参照してください(http://petewerner.blogspot.in/2012/12/using-apply-sapply-lapply-in-r.html) –

答えて

0

割り当てはベクトル化された関数なので、ループは必要ありません。

is_risky <- OutComes[,"Risk_Factor"] > 0.7 
OutComes[, "OnsetAge"] <- as.integer(is_risky) 
関連する問題