理系大学生hachi/ハチの学習ブログ

2021~大学生の学習ブログ R言語やPython、大学数学、英会話を初学者目線でつらつらと書いていきます

R言語を0から学ぼう!! ~2日目~

関数を作ってみよう!!

さあ今日は関数を作ってみます!ただ何をどうすればいいのかもわからないので、とりあえずネットで調べて出てきたものを打ち込んでみようと思います。

Rの初歩というサイトをもとに勉強しているのですが、そこにひつじを数える関数があるのを発見。関数の内容は

hituji=function(n) {for(i in 1:n) cat("ひつじが”,i,”ひき\n")}

f:id:hachi67920660:20210228113926p:plain

色々ごちゃごちゃしていますがとりあえず左下だけを見てください。ここに自分で動かしたいもの(今回なら関数)を入力しています。たくさんエラーがでていますが、例えばfunctionの綴りがつがったり、「 " 」 が「 ” 」と全角半角の違いだったりのせいですね。もし仕事だったらこういう些細なミスで大失敗につながるんだろうなあと改めて実感。

下から二番目のところにある文字列が今回の関数ですね。これだけではよくわからないので「hituji(100)」と入力し実行。

f:id:hachi67920660:20210228115114p:plain

わあ!ひつじがたくさん出てきた!

さかのぼってみると1から100までのひつじが全部数えられているようです。ここで最初に自分で決めた関数を見て、何がどんな働きをしているのか見てみましょう。

hituji=function(n) {for(i in 1:n) cat("ひつじが",i,"ひき\n")}

まず最初の hituji=function(n) の部分。これは「hituji」という名前の関数(function)があってその値は n によって決まるということでしょう。

次は for(i in 1:n) の部分。任意の数 i というのは 1~n の範囲にでループしますということ。

最後のところの cat("ひつじが",i,"ひき\n) は、ひつじが i ひき というのが n ごとに改行されますよ、ということを表しています(ちゃんとプロの人に聞きました)。

 

今回は関数をとりあえず作ってみてそこから何がどう機能しているのかというのを考えてみました!写真の右上の方にほかにも色々ごちゃごちゃ書いてあるのですがそれはまた今度書いていきますね!