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