【数値情報処理a】第1回 Rの使い方
数値情報処理a について
数値計算とは、人間が解析的に解くのが難しかったり、解くのに時間がかかりすぎる問題をコンピュータ(計算機)に解かせることである。 コンピュータの発達に伴い、数値計算の手法も大きく発達してきた。 AI でも数値計算の手法が至るところで使われている。 本講義では R を使って数値計算の基本的な手法を学ぶ1)。
- 数の表現と誤差
- 代数方程式
- 数値積分
- 乱数とモンテカルロ法
- 数値微分
授業では RStudio を使用する。 RStudio は Web ブラウザで動作する R のIDE(統合開発環境)である。
学内の RStudio サーバにアクセスできるのは学内の環境からのみになる。
学外で RStudio を使いたい場合は、3つ方法がある。
- VPN 接続した後、ブラウザで学内 RStudio サーバにアクセス
学内 RStudio サーバの利用
アカウント作成
学内 RStudio サーバーはアカウントがないと使えません。
RStudio のアカウントを作成するので、「学籍番号」「氏名(カタカナ)」を書いて下のアドレスにメールを送ること。
ログイン
メールで送られるユーザ名とパスワードで学内 RStudio サーバにログインする。
ユーザ名は大学の端末にログインするときのユーザ名と同じ。
プロジェクトの作成
プロジェクト機能とは、特定の作業ディレクトリでスクリプトファイルなどを管理する機能である。
「数値情報処理a」用のプロジェクトを作成する。
- 右上のプロジェクトボタンをクリックして
[New Project]
を選ぶ、もしくはメニューの[File]
→[New Project]
を選ぶと「Create Project」のウィンドウが開く。 [New Directory]
を選ぶ。[New Project]
を選ぶ。- 「Directory name:」にプロジェクト名「数値情報処理a」を入力する2)。
- 「Create project as subdirectory of:」 が「~」になっていなければ
[Browse]
をクリックして[Home]
ボタンをクリックした後[Choose]
ボタンをクリックする。 [Create Project]
をクリックする。
これでプロジェクトが作成できる。
他の講義でこの学内 RStudio サーバを使う場合は、ファイルが混ざってごちゃごちゃにならないように講義ごとにプロジェクトを作成し、プロジェクトを切り替えて使うと良い。
別のプロジェクトの切り替えは右上のプロジェクトボタンから行う。
R と RStudio の使い方
Rのプログラム例
R で実行させるコマンドを記述するファイルをスクリプトファイルという。 プログラムでいうソースコードである。
スクリプトファイルの拡張子は .R になる。
スクリプトの作成
左上の [+]
ボタンをクリックして [R Script]
を選ぶ。
もしくは、メニューの [Files]
→[New File]
→[R Script]
を選ぶ。
左上のペインに 「Untitled1」 という空のスクリプトのタブが作成される。
スクリプトのタブでフロッピーディスクのボタンをクリック(ショートカットキーは Ctrl+S)でファイルとして保存できる。 保存先は RStudio サーバになる。
スクリプトのタブに次のコードを入力して factorial.R というファイル名で保存しよう。
- factorial.R
- # 階乗の計算
- r <- 1
- r <- r * x
- }
スクリプトの実行
左上のペインのスクリプトのタブにある [Source]
ボタンをクリックすることで実行できる。
factorial.R を実行するとうまくいけば以下の結果が表示される。
[1] 3628800
これは $10!$ の結果である。
スクリプトの処理
スクリプトは上から下に書いた順番に処理が行われる(順次処理)。
for
というコマンドは、ある条件に従って同じ処理を繰り返す(反復処理、ループ処理)。
上のスクリプトの具体的な処理は以下の通り。
- 1行目:コメントなので何もしない3)。
- 2行目:変数 r に 1 を代入する4)。
- 3行目:変数 x に 1, 2, 3, …, 10 を一つずつ代入して「
{ }
」の中の処理を繰り返す。- 4行目:変数 r に r * x の結果を代入する。
- 6行目:変数 r の値を出力する。
3〜5行目と同じ処理を for
を使わなければ以下のコードになる。
- factorial2.R
- # 階乗の計算
- r <- 1
- r <- r * 1
- r <- r * 2
- r <- r * 3
- r <- r * 4
- r <- r * 5
- r <- r * 6
- r <- r * 7
- r <- r * 8
- r <- r * 9
- r <- r * 10
Moodle
Moodle(ムードル)とは Web ブラウザでアクセスするオンラインの学習管理システムである。 このクラスでは皆さんが小テストを受験したり、課題を提出するために利用する。
端末や RStudio のアカウントとは異なるので注意。
Moodle にログイン
Moodle へのログインにはユーザ名とパスワードが必要である。 ユーザ名と初期パスワードはメールで配布する。 山本の他の講義で Moodle を使っていた人はそのまま使えるのでメールは送らない。
次のリンクをクリックして Moodle にログインしてみよう。
- パスワードは10文字(以上)に
- パスワードは大文字小文字・数字と記号を交ぜるように
- パスワードは自分は読めるが他人は読めないものに
- 他の場所のパスワードと使い回しをしないように