RとRStudio入門


  • RStudioを使用してRプログラムを作成および実行します。
  • Rには通常の算術演算子と数学関数があります。
  • <-を使用して変数に値を代入します。
  • ls()を使用してプログラム内の変数を一覧表示します。
  • rm()を使用してプログラム内のオブジェクトを削除します。
  • install.packages()を使用してパッケージ(ライブラリ)をインストールします。

RStudio を使ったプロジェクト管理


  • RStudio を使用して一貫したレイアウトでプロジェクトを作成および管理する。
  • 生データを読み取り専用として扱う。
  • 生成された出力を使い捨てとみなす。
  • 関数の定義と適用を分離する。

ヘルプの利用


  • R のオンラインヘルプを取得するには help() を使用します。

データ構造


  • read.csv を使用して R で表形式データを読み取ります。
  • R の基本データ型は、double、integer、complex、logical、character です。
  • データフレームや行列のようなデータ構造は、リストやベクトルを基にし、いくつかの属性が追加されています。

データフレームの操作


  • 新しい列をデータフレームに追加するには cbind() を使用します。
  • 新しい行をデータフレームに追加するには rbind() を使用します。
  • データフレームから行を削除します。
  • データフレームの構造を理解するために、str()summary()nrow()ncol()dim()colnames()head()typeof() を使用します。
  • read.csv() を使用して CSV ファイルを読み込みます。
  • データフレームの length() が何を表しているのか理解します。

データの部分集合化


  • R のインデックスは 0 ではなく 1 から始まります。
  • [] を使用して位置による個々の値にアクセスします。
  • [low:high] を使用してデータのスライスにアクセスします。
  • [c(...)] を使用して任意のデータセットにアクセスします。
  • 論理演算や論理ベクトルを使用してデータのサブセットにアクセスします。

制御フロー


  • ifelse を使用して選択肢を作る。
  • for を使用して操作を繰り返す。

ggplot2 を使用した出版品質のグラフィック作成


  • ggplot2 を使用してプロットを作成する。
  • グラフィックをレイヤーとして考える: 美的要素、幾何学、統計、スケール変換、グループ化。

ベクトル化


  • ループの代わりにベクトル化された操作を使用する。

関数の説明


  • Rで新しい関数を定義するには function を使用する。
  • 関数に値を渡すにはパラメータを使用する。
  • Rで stopifnot() を使って関数引数を柔軟にチェックする。
  • source() を使用してプログラムに関数を読み込む。

データの書き出し


  • RStudioでプロットを保存するには「Export」ボタンを使用する。
  • タブ形式のデータを保存するには write.table を使用する。

dplyr を使用したデータフレーム操作


  • データフレームの操作に dplyr パッケージを使用する。
  • select() を使用してデータフレームから変数を選択する。
  • filter() を使用して値に基づいてデータを選択する。
  • group_by()summarize() を使用してデータのサブセットを操作する。
  • mutate() を使用して新しい変数を作成する。

tidyr を使用したデータフレームの操作


  • データフレームのレイアウトを変更するために tidyr パッケージを使用する。
  • pivot_longer() を使用して「広い」レイアウトから「長い」レイアウトに変換する。
  • pivot_wider() を使用して「長い」レイアウトから「広い」レイアウトに変換する。

knitrを使ったレポート作成


  • R Markdown で作成したレポートに、R で書かれたソフトウェアを組み合わせる。
  • チャンクオプションを指定してフォーマットを制御する。
  • knitr を使用して、これらのドキュメントを PDF や他の形式に変換する。

良いソフトウェアを書く方法


  • プロジェクトフォルダを構造化し、整理整頓を保つ。
  • 「何を」「なぜ」を文書化し、「どのように」は後回しにする。
  • プログラムを短く、単一目的の関数に分解する。
  • 再実行可能なテストを書く。
  • 同じことを繰り返さない。
  • 命名規則、インデント、その他のスタイルの側面で一貫性を保つ。