元データ分析の会社で働いていた人の四方山話スマートフォン用の表示で見る元データ分析の会社で働いていた人の四方山話この広告は、90日以上更新していないブログに表示しています。R(ただし見せかけの)Rみなさん大好きななかなか興味深い記事があがっていたので、英語の練習がてら書いてみました。読んではいるので、時々アウトプットしていこうかな、と思う次第です。tutorials)正確にいうとこっちですかね。argument.時にはRの関数内で"参照渡し"を使うと便利ある。自作の関数に複数の返り値を持たせたい時は、それらの返り値のリストを返してその後分割することや引数を通じてその値を返すことができる。reference.いくつかの理由のために(僕も知りたい)、Rは参照渡しをサポートしていない。思いつく一つ目の理由は安全性である、もし参照渡しが行えたとすると、コードをトレースしデバッグすること(自作関数の詳細を調べる事で変数の値がどの関数で変化したか調べなければならない)をより困難にする。実際のところ、Rは、引数の値が変化しない時、"参照渡し"を行う。引数の値が変化する時のみ、引数のコピーを作成するだろう。そこで、参照渡しが行えたとしても、効果的な利点(少なくとも重要な利点)はないと予想できる。it:とにかく、(どのような理由によって使用する(もしくは使用しない)事を選択できる)Rにおいて、どのように"見かけの参照渡し"を実現するかを知る事は良い事えある。参照渡しを実現するためのトリックは、Rのeval.parent関数を使うことである。ある関数が参照渡しを実装しているように見せるために、親環境で引数の値を置き換えるようなコードを加える事ができる。どのようにするかの例を示す。52ちなみに上のaddOne()は第2引数いらないですね。他と合わせるために書いてるんでしょうか。example関数の内部でxの値を変更できなかったことに注意してください。xの値を変更すると、新しいオブジェクトが作成されます。substitute関数はxを新しい値と置き換ええて、この関数はうまく動かないでしょう。environment.関数内でxの値を変更したければ、新しいオブジェクトへxをコピーして、xとして新しいオブジェクトを使用しなければならない。関数の最後に、親環境でxと新しいオブジェクトを置き換えることができる。packages.参照渡しをもっとフォーマルに行うための別の方法は、R.ooパッケージを使う事である。所感ここまでして参照渡しを実現させる必要は今のところ感じません。いえ、かなり大きなデータを使う時は関数を書くのも憚れるのも事実。bigmemoryを使うか、早くR-2.14が登場するのを待つほかありません。環境とか真面目に勉強したことないので、勉強しようかなと思います。前回、の線形単回帰について、最小2乗法で確認しました。昨日のTokyo.Rで、判別分析とかロバスト推定とかの話を聞いて、...2011-04-06RでMySQLを操作してみる。Entriesはてなブログをはじめよう!rindai87さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。