2016-09-20 19 views
0

数字のあるdata.frameと、文字ベクトルがあります。文字ベクトルは、ではなく、という名前です(hereとは異なります)。R - ループを条件付きで代入するタプルの代替?

以下のおもちゃのコードは、私が探していることを達成していますが、forループから逃げようとしていて、*applyファミリーまたは他の機能を{base}で利用しています。

df = data.frame(act_val = c(1:10)) 
temp = letters[1:10] 

for (i in 1:length(temp)){ 
    df$act_name[df$act_val == i] = temp[i] 
} 

ので、IFF act_val == 1その後、act_name == "a"。私は、文字の位置が値names()のように効果的に使用されている、名前付き文字ベクトルのやや荒廃したバージョンだと認識しています。

すべては、よりRのような方法が必要ですか?

マイケル

答えて

4

あなたはtemp[df$act_val]で検索をベクトル化し、その列に割り当てることができます。私は瞬間を持っている

df$act_name = temp[df$act_val] 
+0

ほとんどの日...感謝のトンを、完全に働きました。私が許可されるとすぐに受け入れます(〜5分行く)。マイケル –

関連する問題