ベクトルの各偶数要素を 2 で乗算し、ベクトルの各奇数要素を 3 で乗算するとします。これを実行できるコードを次に示します。
v <- 0:10
idx <- v %% 2 == 0
v[idx] <- v[idx] * 2
v[!idx] <- v[!idx] * 3
2 つ以上のケースがあると、これは難しくなります。関数の適用ファミリはベクトルを処理しないように思われるため、この問題を解決するためのより良い方法がわかりません。データに変換を行った場合、適用関数を使用するとうまくいくかもしれませんが、この単純な問題を解決するために必要なことではないようです。
何か案は?
編集:混乱して申し訳ありません。「%%」演算子には特に興味はありません。質問に具体的なコードを入れたかったのですが、質問への回答に基づいて、具体的すぎました。リストの各メンバーに任意の関数を適用する方法を理解したかったのです。これは apply() では不可能であり、sapply() はリストでのみ機能すると考えていました。