※R言語入門のトップページはこちら今回は自作関数の作り方・使い方について解説していきます。他のプログラミング言語を勉強したことがある人ならお分かりかと思いますが、自作関数とは非常に便利なものです。R言語でもこの関数というものが自分で定義することが出来ます。今まで、回帰分析の関数”lm()”など、既存の関数を使ってきました。これらはR言語側が既に用意してくれていた関数です。この関数というものは自分で定義することで自作することもできるのです。普段からよく行う操作があるのであれば、その関数を自分で関数を作って、一度Rに読み込ませれば、それからは自由に作った自作関数を使うことができるのです。関数を作るときの基本的な書き方は以下のようになります。<-function(引数){関数内で行う処理}これをRの実行環境に読み込ませることによって、作った関数が使えるようになります。※引数はカンマ”,”で区切ることによって複数取ることも出来ます。実際に簡単な関数を作ってみます。今回はちょっと特殊な計算を関数にしてみます。a+breturn(ans)}この関数をR上で全文実行して、関数定義を行います。これで、fun1というオリジナルの自作関数が出来ました。「引数で入れた任意のxという数字について”xの2乗”と”xに10足した数”を足し合わせ、その結果を返す。この関数を使ってみましょう!例えば引数に10を入れてみます。120というような結果になりました。120という数字が返ってきていますね。実際に計算をしてみるとわかりますが、正しく関数が作られていることが確認できました。関数の作り方はお分かりいただけたでしょうか。実際にこの関数をどのように使えばいいのか。基本的には「よく使う解析」を関数として作っておいて、関数を呼び出すだけでデータ解析が出来るようにしておくのが便利です。ロジスティック回帰分析をして、必要なデータを抽出し、エクセルファイルまでの流れを一つの自作関数にまとめておけます。することで、1行のプログラムでロジスティック回帰分析の結果をエクセルファイルに出力することが出来るのです。ロジスティック回帰分析の場合について、参考用の関数を作ってみました。paste(“logistic回帰-sample-“,num,”変量.csv”,sep=””)write.table(matrix(c(“”,colnames(result)),nrow=1),filename,append=F,quote=F,sep=”,”,row.names=F,col.names=F)write.table(result,filename,append=T,quote=F,sep=”,”,row.names=T,col.names=F)write.table(“”,filename,append=T,quote=F,sep=”,”,row.names=F,col.names=F)}この関数は、datにロジスティック回帰分析用のデータ、numに何変量の回帰分析をしたかの数字を引数にとります。これによって目的変数が病気の場合について解析が出来ます。sample-data↑今まで使ってきた、このデータを用いて解析を行ってみます。read.csv(“sample-data.csv”,header=T,row.names=1)fun2(df[,c(5,1,2,3)],3)データを読み込んで、解析まで2行で済みますね。これだけで、エクセルファイルに解析結果が出力されました。ちなみに結果はこんな感じ。まとめ自作関数をの作り方と、自作関数を使う便利さはお分かりいただけましたでしょうか。同じような解析を複数回行う場合、プログラムがどうしても長くなってしまいます。その時に決まった作業を行うための関数を作っておけば、プログラムも短くなりますし、すっきりとした見やすいプログラムにもなります。関数を使いこなして綺麗なプログラムを書けるようになりたいものですね。G検定を取得するメリットを解説!最弱オセロを初めて攻略した天才オセロ高校生。TrendCOMMENTコメントを残すコメントをキャンセルメールアドレスが公開されることはありません。コメント*お名前*メールアドレス*プライバシーポリシーはこちら上に表示された文字を入力してください。