--- title: "統計データ解析I" subtitle: "第3講 練習問題" date: "`r Sys.time()`" format: html: toc: true html-math-method: katex self-contained: true grid: margin-width: 350px execute: echo: true warning: false reference-location: margin citation-location: margin tbl-cap-location: margin fig-cap-location: margin editor: visual editor_options: chunk_output_type: console --- ## 関数の使い方 ### 問題 以下の問に答えなさい. - ヘルプ機能 (Help タブの検索窓, または関数 `help(),?`) を用いて関数 `sample()` を調べなさい. - サイコロを $1$ 回振る試行を模擬せよ. - サイコロを $10$ 回振る試行を模擬せよ. ::: callout-tip 引数 `replace` を調べなさい. ::: - $1$ が出易いサイコロを作りなさい. ::: callout-tip 引数 `prob` を調べなさい. ::: - $1$ から $6$ をランダムに並べ替えよ. ## 自作関数の定義 ### 問題 以下の問に答えなさい. - $1$ から整数 $n$ までの和を求める関数を作成せよ. ::: callout-tip 関数 `sum()` を調べなさい. 等差数列の和を利用してもよい. ::: - 整数 $n$ の階乗 $n!$ を求める関数を作成せよ ::: callout-tip 関数 `prod()` を調べなさい. ::: ## 制御構造 ### 問題 以下の問に答えなさい. - 整数 $n$ の Fibonacci 数を求める関数を作成せよ. - Fibonacci 数は以下の漸化式で計算される. $$ \begin{align} F_{0}&=0\\ F_{1}&=1\\ F_{n}&=F_{n-1}+F_{n-2} \end{align} $$ - 行列 $X$ が与えられたとき,各列の平均を計算する関数を作成せよ. - 前問で $X$ がベクトルの場合にはその平均を計算するように修正せよ. ::: callout-tip 関数 `is.vector()` が利用できる. :::