【無料】家で簡単プログラミング 〜その2 Rを使ってみよう〜
どうも、おはこんばんにちは、ぽんぽこりん(@ponpokorin_24)です。
その2のこの記事では、Rをインストールしてからのことを書いていきます。もし、Rをインストールしていないならその1の ”勢いでRをインストールしてみましょう” の部分をご参照くださいませ。 その1はこちら
プログラミングの用語も字面を追っていくだけでは覚えにくいので、どんどん実際に使ってみましょう!
というわけで、今回のコンテンツはこんな感じにしようと思います。
デスクトップ上のアイコンをダブルクリックすればRが起動しますが、開く前にちょっと設定しておきましょう。
アイコンにカーソルを合わせて右クリックすると「プロパティ」という項目があるので、そこを左クリック。「互換性」タブに移動すると「設定」欄に「管理者としてこのプログラムを実行する」のボックスがあるので、そこにチェックを付け、右下の「適用」を左クリック。最後に「OK」を押せばウィンドウが閉じます。
この設定をしておくことで、エラーが起きにくくなります。もし詳しく知りたければ、"管理者として実行 プログラミング R" とかで検索してみてください。
さて、設定が終わってRを起動してみようとすると、こんな画面が出てくると思います。
ここで「はい」を選ぶとRが起動します。
もしかすると管理者のパスワードを要求されるかもしれませんが、別に危険ではないのでパスワードを入れて大丈夫です。
次に、こんな感じの画面になると思いますが、
まずは閉じ方を見てもらいたいと思います。右上のバッテンをクリックすると、こんなポップアップが出るはず。
基本的にはここは「いいえ」を選びましょう。もし間違えて「はい」にしたら、”R ワークスペース 保存した 削除” 等で検索して、書いてある通りにやれば大丈夫です。
Rを起動したら、まず最も原始的なコンピューターの使い方として、計算をさせてみましょう。以下のコマンドをR Consoleと書かれているところに打ってみましょう。
3+2
3-2
3*2
3/2
確かにちゃんと結果が出ましたよね?それでは3//2はどうでしょうか。打ってみましょう。
エラーがでたと思います。こういう風に間違ったコマンドを打つとエラーがでますが、これだけでパソコンが壊れたりはしませんので、安心してください。こういったエラーがでても、やり直せばいいだけなので、エラーを出しても気にしなくてOKです。コマンドを間違っても、そこから自分で原因を調べ、うまくいくようにする。そういった経験が何よりの力になると思います。
さて、コンピューターはもっとめんどくさい計算も一瞬です。それでは以下の計算式を打ってみましょう。
4614+10/2*6+3+4/2
ちゃんと掛け算や割り算を優先して計算してくれていますよね。
ただこうするとちょっと結果が変わります。
(4614+10)/2*6+3+4/2
せっかくの ”4649” が台無しになりました。これは( )の中身の計算が優先されたからです。算数・数学と同じですよね。このように、基本的に算数・数学のルールに沿って式を書けばきちんと計算してくれます。
さらに、小学校でやる 45÷10=4 あまり5 みたいなのや、累乗、ルートなんかもできます。以下のコマンドをR consoleに打ってみましょう。
45%/%10
45%%10
2^3
sqrt(16)
ここで一旦休憩。コーヒーでも飲んだら、お次はベクトルを扱ってみましょう。
ベクトルはこんな風にして作ります。
c(1, 4, 2, 1, 5)
ここで、各カンマと数字の間にスペースはなくてもいいのですが、見やすくなるかと思って入れてみました。基本的にプログラミングにおいて、半角のスペースは無視されます、ただ全角スペースは無視されずにたまにバグの原因になったりします。スペースを使うときは絶対に半角にしましょう!
ちょっと話がそれましたが、ベクトルでこんなことができます。下のコマンドをそのまま写してみてください。
a <- c(1,4,2,1,5)
a
summary(a)
mean(a)
sum(a)
もちろん…
mean(a) == sum(a)/length(a)
TRUEが出ましたよね?ならOKです。ここで使ったコマンドを解説していきます。
まず <- は代入です。上で見たように、a <- c(1,4,2,1,5) とすると、コンピューターは「aは(1,4,2,1,5)というベクトルのコトね」と覚えてくれます。
次に summary は日本語で要約、この場合は最小値(Min.)、第一四分位数(1at Qu.)、中央値(Median)、平均(Mean)、第三四分位数(3rd Qu.)、最大値(Max.)を教えてくれます。
mean のように個別に平均値だけを知ることもできますし、sum は合計を計算してくれます。
そして最後の行について。まず、平均値は合計を全個数で割ったものだということは皆さんご存じですよね。そうです。つまり、lengthはベクトルの要素の個数を出してくれるコマンドなんです。そうすると、mean(a) と sum(a)/length(a) は同じということになりますよね。そこで mean(a) == sum(a)/length(a) といれると、コンピューターは mean(a) と sum(a)/length(a) が一致するかの判定をして、一致していたのでTRUE(真)を返したわけです。
なので、
mean(a)+1 == sum(a)/length(a)
とするとどうですか?FALSE(偽)が返ってきますよね。
次に、ベクトルbも作ってみましょう。以下のコマンドをR Consoleに打ってみてください。
b <- c(2,2,2,2)
a
b
a+b
a*b
こんな風に、Rではベクトル同士での四則演算も簡単です。
以上の様な感じで、ベクトルを使うと複数の数値の特徴をみたり、要約量を計算したり、一気に複数の計算を行ったりできます。==による一致判定はベクトル以外でもできます。
先程、b <- c(2,2,2,2) としましたが、b <- rep(2, 4) でも同じベクトルが作れます。ここでの rep はrepeat(リピート、繰り返す)の頭のrepです。
他にも c(1,2,3,4,5) を作りたいときには seq(1,5) だけで書けます。seq はたぶんsequence(シーケンス、順序)の頭のseqです。seq は seq(1,5,2) みたいな使い方もできて、この場合は1~5まで2つ飛ばしで、という意味になって、c(1,3,5) と同じベクトルが作れます。
他にもいろいろあるので、時間のある時に、ぜひいろいろ調べてみてください。R-Sourceというサイトがあるのですが、僕は初心者のときから今に至るまで、ずっと利用させてもらってます。
あと、この上で紹介したように、コマンドは基本的に英単語の頭の方の文字を取っているものが多いです。なので、コマンドを調べるうちに英単語も一緒に知れます。
十分に休憩したら、最後はエディタについて知りましょう。
その一方でエディタというものもあります。Rに戻って、左上の「ファイル」タブを左クリックして、「新規スクリプト」を左クリックしてみましょう。こんな感じのものができますよね。
これに、いままで書いたコマンドのうちで好きなものを書いてみましょう。コンソールを左クリックして入力待ち状態の時に、↑キーを押せば今まで打ったコマンドが出てきますのでそれも活用してください。
例えば、こんな感じでしょうか。
今までのコンソールとの違いはお分かりですか?そうです、エディタに書いてもコンピューターは反応しないんです。ざっくりいえば、ただのメモ帳みたいなものです。エディタに書いたコマンドをコンピューターに実行させるには、
基本的にはこの2つの方法があります。
エディタの役割はコマンドをまとめて書いておいて、分かりやすい形で保存するというものです。いちいちコンソールに書き込んでいると、実行結果とコマンドか混ぜこぜだし、自分の書いたコマンドがどんどん上にいって確認しにくくなってきますので、まとめてエディタに書いておくと分かりやすいです。
さらに便利な機能としてはコメント機能というものがあります。まず、下のスクリーンショットを見てください。
こんな感じで#を使ってコメントを入れられるんです。#から次の改行までは実行時に無視されます。なので、上の画像のままCtrl+Aで全選択した後、Ctrl+Rで実行しても全く処理内容は変わりません。
複数行のコメントを入れたいときはこんな風にしてください(他のプログラミング言語の中には簡単に複数行のコメントができるものもあります)。他にも、コマンドの右にコメントを入れることもできます。
あとあとは、これを利用しながら、
エディタに必要なコマンドだけを記録して、
時々コンソールで実行し、エラーがないかチェックする、
というような流れでプログラムを書いていくことになります。
最後にセーブとロードです。ゲームと同じでこまめなセーブが肝なのです。たまーにバグ等で強制終了したりさせたりすると、セーブされていないコマンドは消えてしまいます。せっかく時間をかけて、エディタに書き連ねたコマンドが全部消えると、とても悲しいものです… なので、気付いたらセーブを心がけましょう。
コンソールではなくエディタを選択した状態で左上の「ファイル」を左クリックすると「保存」があるので、好きな場所に保存(セーブ)してください。僕のオススメとしては、事前に分かりやすい名前を付けたフォルダーを作成して、そこに保存していくのがいいと思います。
あと、たまにこういうエラーが出ることもあります。
他にも、コンソールの方で「保存できませんでした」みたいなエラーが出る場合もあります。原因としては全角のEnterを使ったとかですが、この場合はとりあえずOKを押して、今エディタに書いてあることを全部コピーして、windowsであればデフォルトで「メモ帳」アプリがあるので、そこに貼り付けます。
こうしてバックアップを取った上で、右上のバッテンで閉じて(保存しますかとか聞かれたら「いいえ」)、もう一度スクリプト(エディタで書いたものをこういいます)を開き、バックアップしたところから貼り付けて、もう一度セーブしてみましょう。
ここでその2終了です。楽しんでいただけましたでしょうか?
もし、為になる、面白かった、ということであれば、ぜひ、SNSなどで紹介してください!
それでは~
その3はこちら(書けたらリンク貼ります)書きました!
手順:
編集タブ>GUIプリファレンス
このRgui 設定エディターで編集します。最悪、初期状態に戻せるように、まず最初に左下のSave...を押し、ファイル名はRconsole(default)とかRconsole(vanilla)とかにして保存しておきましょう。
その後、もう一度Rgui 設定エディターから好みの設定を決めて、またSave...しましょう。このとき、ファイル名をRconsoleにしておく(多分上書き保存になる)と次回の起動から、最初から好みの設定がロードされます。
僕はこんな風にしています。参考までに。
その2のこの記事では、Rをインストールしてからのことを書いていきます。もし、Rをインストールしていないならその1の ”勢いでRをインストールしてみましょう” の部分をご参照くださいませ。 その1はこちら
プログラミングの用語も字面を追っていくだけでは覚えにくいので、どんどん実際に使ってみましょう!
というわけで、今回のコンテンツはこんな感じにしようと思います。
- Rを開いたり閉じたりしてみる(ついでに管理者設定)
- 四則演算をしてみましょう
- ベクトルを作成してみましょう
- 便利なコマンドを紹介
- コンソールとエディタ
- オマケ:Rをカスタマイズしてみよう
Rを開いたり閉じたりしてみる(ついでに管理者設定)
まず、無事にRがインストールできていればおそらく、デスクトップ上にこんなアイコンが出ていると思います。公式のロゴです。 Hadley Wickham and others at RStudio - https://www.r-project.org/logo/, CC 表示-継承 4.0, https://commons.wikimedia.org/w/index.php?curid=35599651による |
デスクトップ上のアイコンをダブルクリックすればRが起動しますが、開く前にちょっと設定しておきましょう。
アイコンにカーソルを合わせて右クリックすると「プロパティ」という項目があるので、そこを左クリック。「互換性」タブに移動すると「設定」欄に「管理者としてこのプログラムを実行する」のボックスがあるので、そこにチェックを付け、右下の「適用」を左クリック。最後に「OK」を押せばウィンドウが閉じます。
この設定をしておくことで、エラーが起きにくくなります。もし詳しく知りたければ、"管理者として実行 プログラミング R" とかで検索してみてください。
さて、設定が終わってRを起動してみようとすると、こんな画面が出てくると思います。
もしかすると管理者のパスワードを要求されるかもしれませんが、別に危険ではないのでパスワードを入れて大丈夫です。
次に、こんな感じの画面になると思いますが、
まずは閉じ方を見てもらいたいと思います。右上のバッテンをクリックすると、こんなポップアップが出るはず。
基本的にはここは「いいえ」を選びましょう。もし間違えて「はい」にしたら、”R ワークスペース 保存した 削除” 等で検索して、書いてある通りにやれば大丈夫です。
四則演算をしてみましょう
セットアップも完了したので、いよいよコマンドを書いてみましょう!Rを起動したら、まず最も原始的なコンピューターの使い方として、計算をさせてみましょう。以下のコマンドをR Consoleと書かれているところに打ってみましょう。
3+2
3-2
3*2
3/2
確かにちゃんと結果が出ましたよね?それでは3//2はどうでしょうか。打ってみましょう。
エラーがでたと思います。こういう風に間違ったコマンドを打つとエラーがでますが、これだけでパソコンが壊れたりはしませんので、安心してください。こういったエラーがでても、やり直せばいいだけなので、エラーを出しても気にしなくてOKです。コマンドを間違っても、そこから自分で原因を調べ、うまくいくようにする。そういった経験が何よりの力になると思います。
さて、コンピューターはもっとめんどくさい計算も一瞬です。それでは以下の計算式を打ってみましょう。
4614+10/2*6+3+4/2
ちゃんと掛け算や割り算を優先して計算してくれていますよね。
ただこうするとちょっと結果が変わります。
(4614+10)/2*6+3+4/2
せっかくの ”4649” が台無しになりました。これは( )の中身の計算が優先されたからです。算数・数学と同じですよね。このように、基本的に算数・数学のルールに沿って式を書けばきちんと計算してくれます。
さらに、小学校でやる 45÷10=4 あまり5 みたいなのや、累乗、ルートなんかもできます。以下のコマンドをR consoleに打ってみましょう。
45%/%10
45%%10
2^3
sqrt(16)
ここで一旦休憩。コーヒーでも飲んだら、お次はベクトルを扱ってみましょう。
ベクトルを作成してみましょう
ベクトルというと、なんだか難しく感じるかもしれませんが、やってみれば簡単です。これを拡張していくと行列も扱えますが、今のところは、単に数が並んでいるもの、みたいに思ってもらえばOKです。それでは作ってみましょう。ベクトルはこんな風にして作ります。
c(1, 4, 2, 1, 5)
ここで、各カンマと数字の間にスペースはなくてもいいのですが、見やすくなるかと思って入れてみました。基本的にプログラミングにおいて、半角のスペースは無視されます、ただ全角スペースは無視されずにたまにバグの原因になったりします。スペースを使うときは絶対に半角にしましょう!
ちょっと話がそれましたが、ベクトルでこんなことができます。下のコマンドをそのまま写してみてください。
a <- c(1,4,2,1,5)
a
summary(a)
mean(a)
sum(a)
もちろん…
mean(a) == sum(a)/length(a)
TRUEが出ましたよね?ならOKです。ここで使ったコマンドを解説していきます。
まず <- は代入です。上で見たように、a <- c(1,4,2,1,5) とすると、コンピューターは「aは(1,4,2,1,5)というベクトルのコトね」と覚えてくれます。
次に summary は日本語で要約、この場合は最小値(Min.)、第一四分位数(1at Qu.)、中央値(Median)、平均(Mean)、第三四分位数(3rd Qu.)、最大値(Max.)を教えてくれます。
mean のように個別に平均値だけを知ることもできますし、sum は合計を計算してくれます。
そして最後の行について。まず、平均値は合計を全個数で割ったものだということは皆さんご存じですよね。そうです。つまり、lengthはベクトルの要素の個数を出してくれるコマンドなんです。そうすると、mean(a) と sum(a)/length(a) は同じということになりますよね。そこで mean(a) == sum(a)/length(a) といれると、コンピューターは mean(a) と sum(a)/length(a) が一致するかの判定をして、一致していたのでTRUE(真)を返したわけです。
なので、
mean(a)+1 == sum(a)/length(a)
とするとどうですか?FALSE(偽)が返ってきますよね。
次に、ベクトルbも作ってみましょう。以下のコマンドをR Consoleに打ってみてください。
b <- c(2,2,2,2)
a
b
a+b
a*b
こんな風に、Rではベクトル同士での四則演算も簡単です。
以上の様な感じで、ベクトルを使うと複数の数値の特徴をみたり、要約量を計算したり、一気に複数の計算を行ったりできます。==による一致判定はベクトル以外でもできます。
便利なコマンドの紹介
頭がちょっと疲れてきたかもしれないので、簡単・便利なコマンドを少し紹介します。横目で見ながら休憩してください。先程、b <- c(2,2,2,2) としましたが、b <- rep(2, 4) でも同じベクトルが作れます。ここでの rep はrepeat(リピート、繰り返す)の頭のrepです。
他にも c(1,2,3,4,5) を作りたいときには seq(1,5) だけで書けます。seq はたぶんsequence(シーケンス、順序)の頭のseqです。seq は seq(1,5,2) みたいな使い方もできて、この場合は1~5まで2つ飛ばしで、という意味になって、c(1,3,5) と同じベクトルが作れます。
他にもいろいろあるので、時間のある時に、ぜひいろいろ調べてみてください。R-Sourceというサイトがあるのですが、僕は初心者のときから今に至るまで、ずっと利用させてもらってます。
あと、この上で紹介したように、コマンドは基本的に英単語の頭の方の文字を取っているものが多いです。なので、コマンドを調べるうちに英単語も一緒に知れます。
十分に休憩したら、最後はエディタについて知りましょう。
コンソールとエディタ
今までコマンドを書いたところが、最初にも軽く名前の出た「R Console」つまり「コンソール」です。どのプログラミング言語でも、コンソールにコマンドを書いてEnterキーを押せば、コンピューターは反応してくれます。その一方でエディタというものもあります。Rに戻って、左上の「ファイル」タブを左クリックして、「新規スクリプト」を左クリックしてみましょう。こんな感じのものができますよね。
色は違っても問題ありません |
これに、いままで書いたコマンドのうちで好きなものを書いてみましょう。コンソールを左クリックして入力待ち状態の時に、↑キーを押せば今まで打ったコマンドが出てきますのでそれも活用してください。
例えば、こんな感じでしょうか。
今までのコンソールとの違いはお分かりですか?そうです、エディタに書いてもコンピューターは反応しないんです。ざっくりいえば、ただのメモ帳みたいなものです。エディタに書いたコマンドをコンピューターに実行させるには、
- コピーしてコンソールに貼り付ける
- ドラッグして実行したいコマンドを選択して(Ctrlキーを押したままAキーを押すと全選択できます、これをCtrl+Aと表記したりします)Ctrl+Rを押す
基本的にはこの2つの方法があります。
エディタの役割はコマンドをまとめて書いておいて、分かりやすい形で保存するというものです。いちいちコンソールに書き込んでいると、実行結果とコマンドか混ぜこぜだし、自分の書いたコマンドがどんどん上にいって確認しにくくなってきますので、まとめてエディタに書いておくと分かりやすいです。
さらに便利な機能としてはコメント機能というものがあります。まず、下のスクリーンショットを見てください。
こんな感じで#を使ってコメントを入れられるんです。#から次の改行までは実行時に無視されます。なので、上の画像のままCtrl+Aで全選択した後、Ctrl+Rで実行しても全く処理内容は変わりません。
複数行のコメントを入れたいときはこんな風にしてください(他のプログラミング言語の中には簡単に複数行のコメントができるものもあります)。他にも、コマンドの右にコメントを入れることもできます。
あとあとは、これを利用しながら、
エディタに必要なコマンドだけを記録して、
時々コンソールで実行し、エラーがないかチェックする、
というような流れでプログラムを書いていくことになります。
最後にセーブとロードです。ゲームと同じでこまめなセーブが肝なのです。たまーにバグ等で強制終了したりさせたりすると、セーブされていないコマンドは消えてしまいます。せっかく時間をかけて、エディタに書き連ねたコマンドが全部消えると、とても悲しいものです… なので、気付いたらセーブを心がけましょう。
コンソールではなくエディタを選択した状態で左上の「ファイル」を左クリックすると「保存」があるので、好きな場所に保存(セーブ)してください。僕のオススメとしては、事前に分かりやすい名前を付けたフォルダーを作成して、そこに保存していくのがいいと思います。
あと、たまにこういうエラーが出ることもあります。
他にも、コンソールの方で「保存できませんでした」みたいなエラーが出る場合もあります。原因としては全角のEnterを使ったとかですが、この場合はとりあえずOKを押して、今エディタに書いてあることを全部コピーして、windowsであればデフォルトで「メモ帳」アプリがあるので、そこに貼り付けます。
こうしてバックアップを取った上で、右上のバッテンで閉じて(保存しますかとか聞かれたら「いいえ」)、もう一度スクリプト(エディタで書いたものをこういいます)を開き、バックアップしたところから貼り付けて、もう一度セーブしてみましょう。
ここでその2終了です。楽しんでいただけましたでしょうか?
もし、為になる、面白かった、ということであれば、ぜひ、SNSなどで紹介してください!
それでは~
その3はこちら
オマケ:Rをカスタマイズしてみよう
オマケなので、ほんとにさらっとだけ。Rでは文字の大きさやフォント、背景色を自分好みのものに変更できます。手順:
編集タブ>GUIプリファレンス
このRgui 設定エディターで編集します。最悪、初期状態に戻せるように、まず最初に左下のSave...を押し、ファイル名はRconsole(default)とかRconsole(vanilla)とかにして保存しておきましょう。
その後、もう一度Rgui 設定エディターから好みの設定を決めて、またSave...しましょう。このとき、ファイル名をRconsoleにしておく(多分上書き保存になる)と次回の起動から、最初から好みの設定がロードされます。
僕はこんな風にしています。参考までに。
左下のところで、backgroundはコンソールの背景色、editorbgはエディタの背景色です |
コメント
コメントを投稿