!!!ルーティン化(スクリプト) !!同じ処理を繰り返さないために 苦労して見出した分析手法は再利用したくなりますし、今後はそれを土台にしてさらに高度な分析手法につなげることにもなるでしょう。 また、いいものができると他人にも教えてみたり、また他者の作ったものも参考にしたくなるものです。 分析手法をスクリプトとして保存する方法を紹介します。 !関数とスクリプトの違い :関数:何かのインプットを与えると、それに対応するアウトプットが一意に定まる関係を関数と言います。 # 関数を定義する > kansu = function(x) { 2 * x + 1} # 関数を利用する > x <- 5 > kansu(x) [1] 11 Rにおいては、関数は利用者が開発したものを一般に公開することが可能であり、関数をある目的でまとめたパッケージがたくさん公開されています。Rを使う大きな理由の一つと言ってよいでしょう。 :スクリプト: 関数がインプットとアウトプットの関係で定義されるのに対し、スクリプトはRの処理の一連の流れをひとまとめのファイルにしたものです。目的を持つという点においては関数と似ていますが、スクリプトは計算処理のみならず、データをサマリーしたり保存したりという、Rでできる処理をまとめることができるので、関数よりも幅広く使えます。 !!ルーティン化の落とし穴 データ処理をルーティン化すると、それ以降はさらに新たな手法がルーティンの上に乗っかることになるため、業務改善が進みます。しかも、一旦開発されたものの上に加えることになるため、より深度ある手続が開発されることが期待できます。 しかし、ルーティン化はマイナス面も持っています。 それは、過去に作られたルーティンの使い方だけが引き継がれていき、作り方や作った目的などが引き継がれず、ある時、中身を変更しようとしても誰も内容を理解できないという事態が想定されます。 また別の観点として、目的も考えずルーティンを回すことで監査手続ができる誤解することもあるでしょう。ルーティンはあくまでも処理をしている(技術を提供)に過ぎないため、手続を行っているわけではありません。監査手続には、必ず、想定するリスク、リスク軽減という目的と手段の選択、手段としての処理実施、結果の入手、結果への判断としての結論という一連の流れがあります。