No.15876 Re: applyの引数にifを使う方法 【青木繁伸】 2011/12/04(Sun) 19:18
無名関数を使うというやり方はご存じでしょうか?
x
answer<−apply(x,1,function(z) if (z[1]>=0) z[2]^2 else z[2]^3)
apply(x,1,...というのは,xの各行(列x1とx2の2つの数値からなる)を処理します。どのように処理するかが無名関数function(z)で,渡される2要素からなるベクトルをzととして,if (z[1]>=0) z[2]^2 else z[2]^3という計算をします。結果はベクトルで返されるので,それをxanswer に付値する。ということになります。
なおこの場合はベクトル演算を使って,以下のようにするのがベストです。
xanswer<−ifelse(x x1 >= 0, xx22,x x2^3)
No.15880 Re: applyの引数にifを使う方法 【仲村渠】 2011/12/04(Sun) 20:02
青木先生
無名関数について勉強しておりませんでした.
ご教授いただいた方法で正しく処理することができました.
早々にご回答いただいたことに大変感謝しております.
お時間いただきまして誠にありがとうございました.
● 「統計学関連なんでもあり」の過去ログ--- 045 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る