R for Reproducible Scientific Analysis: Reference

まとめ

R と RStudioの入門
  • RStudio で R プロラムの作成と実行を行う。

  • R は算術演算子や数学関数が使える。

  • <- を使って変数に値を設定する。

  • ls() を使ってプログラム内の変数をリストする。

  • rm() を使ってプログラム内のオブジェクトを消去する。

  • install.packages() を使ってパッケージ(ライブラリ)のインストールを行う。

RStudio のプロジェクト管理
  • RStudio でプロジェクトの生成と管理を行う。

  • 生データは読み込み専用とする。

  • 生成された出力は使い捨てとする。

  • 関数定義と適用は別々にする。

ヘルプ機能
  • R の help() でオンラインヘルプを使用する。

データの構造
  • R のテーブル型のデータの読み込みには read.csv を使う。

  • R の基本的なデータタイプにはdouble(浮動小数点型)integer(整数型)complex(複素数型)logical(論理型)、そしてcharacter(文字型)がある。

  • R では、データのカテゴリーを表すのにfactor (ファクター) を使う。

データフレームの内容を確認
  • 新しい列をデータフレームに追加するときは cbind() を使用する。

  • 新しい行をデータフレームに追加するときは rbind() を使用する。

  • データフレームから行を削除するとき

  • 値が NA の行をデータフレームから削除するときは na.omit() を使用する。

  • ファクターの内容を確認、および操作するときは levels() および as.character() を使用する。

  • データフレームの構造を理解したいときは str(), nrow(), ncol(), dim(), colnames(), rownames(), head(), および typeof() を使用する。

  • csv ファイルを読み込むときは read.csv() を使用する。

  • データフレームの length() の出力内容を理解する。

データの部分集合化
  • R のインデックスは 0 ではなく 1 から始まる。

  • [] を使用して個々の値にアクセス出来る。

  • [下の番号:上の番号] を使用してスライスされたデータにアクセス出来る。

  • [c(...)]を使用して任意のデータセットにアクセス出来る。

  • 論理演算や論理ベクターを使用してデータの部分集合にアクセス出来る。

実行の制御
  • 選択の際は ifelse を使う。

  • 繰り返す処理には for を使う。

ggplot2 を用いたパブリッシュ出来る品質のグラフィックスの作成
  • プロットを作成するためにggplot2を用います

  • エステティック、ジオメトリ、統計、スケール変換、グループ化など、レイヤー単位でグラフィックスを考えてみましょう。

ベクトル化
  • ループの代わりにベクトル化を利用します。

関数について
  • function を使って R で新しい関数を定義する。

  • パラメーターを用いて関数に値を渡す。

  • stopifnot() を使って R の関数の引数を柔軟に検査する。

  • source() を使ってプログラムに関数を読み込む。

データの書き込み
  • ‘Export’ ボタンを使って RStudio からプロットの保存が出来る。

  • write.table を使って表形式のデータの保存が出来る。

plyr によるデータフレームの分離と併合
  • plyer パッケージを使用して、データの分離、部分化されたデータに関数の適用、そして結果を併合する。

dplyrによるデータフレームの操作
  • dplyr パッケージを使用してデータフレームの操作を行う。

  • データフレームから変数を選択する際は select() を使用する。

  • 値を基にデータを選択する際は filter() を使用する。

  • 部分化されたデータを操作する際は group_by()summarize() を使用する。

  • 新しい変数を作成する際は mutate() を使用する。

tidyr によるデータフレームの操作
  • データフレームの形式を変更するには tidyr を使用する。

  • 「横長」から「縦長」に変換するには gather() を使用する。

  • 「縦長」から「横長」に変換するには spread() を使用する。

knitr によるレポートの作成
  • R のマークダウンと R で作成されたソフトウェアが混在するレポート

  • フォーマット制御のために Specify chunk オプションを指定する。

  • knitr を使用してドキュメントを PDF およびほかのフォーマットに出来る。

良いソフトウェアの作成
  • 常にプロジェクトフォルダーを構造化し、整理し、片づけておく。

  • どうやって、ではなく、何であるかとなぜであるかを文書化しておく。

  • プログラムは一つの用途に絞られた短い関数に分割する。

  • 繰り返し行えるテスト内容を書いておく。

  • 同じことを繰り返さない。

  • 同じことを繰り返さない。

  • 名前やインデント、そして他のスタイルに関して一貫性を保つ。

Reference

Introduction to R and RStudio

Project management with RStudio

Seeking help

Data structures

Individual values in R must be one of 5 data types, multiple values can be grouped in data structures.

Data types

Basic data structures in R:

Remember that matrices are really atomic vectors underneath the hood, and that data.frames are really lists underneath the hood (this explains some of the weirder behaviour of R).

Vectors

Factors

Lists

Matrices

Data Frames

Useful functions for querying data structures:

Exploring Data Frames

Subsetting data

Control flow

Creating publication quality graphics

ベクトル化

関数について

データの出力

Split-apply-combine

Dataframe manipulation with dplyr

Dataframe manipulation with tidyr

Producing reports with knitr

Best practices for writing good code

Glossary

argument
A value given to a function or program when it runs. The term is often used interchangeably (and inconsistently) with parameter.
assign
To give a value a name by associating a variable with it.
body
(of a function): the statements that are executed when a function runs.
comment
A remark in a program that is intended to help human readers understand what is going on, but is ignored by the computer. Comments in Python, R, and the Unix shell start with a # character and run to the end of the line; comments in SQL start with --, and other languages have other conventions.
comma-separated values
(CSV) A common textual representation for tables in which the values in each row are separated by commas.
delimiter
A character or characters used to separate individual values, such as the commas between columns in a CSV file.
documentation
Human-language text written to explain what software does, how it works, or how to use it.
floating-point number
A number containing a fractional part and an exponent. See also: integer.
for loop
A loop that is executed once for each value in some kind of set, list, or range. See also: while loop.
index
A subscript that specifies the location of a single value in a collection, such as a single pixel in an image.
integer
A whole number, such as -12343. See also: floating-point number.
library
In R, the directory(ies) where packages are stored.
package
A collection of R functions, data and compiled code in a well-defined format. Packages are stored in a library and loaded using the library() function.
parameter
A variable named in the function’s declaration that is used to hold a value passed into the call. The term is often used interchangeably (and inconsistently) with argument.
return statement
A statement that causes a function to stop executing and return a value to its caller immediately.
sequence
A collection of information that is presented in a specific order.
shape
An array’s dimensions, represented as a vector. For example, a 5×3 array’s shape is (5,3).
string
Short for “character string”, a sequence of zero or more characters.
syntax error
A programming error that occurs when statements are in an order or contain characters not expected by the programming language.
type
The classification of something in a program (for example, the contents of a variable) as a kind of number (e.g. floating-point, integer), string, or something else. In R the command typeof() is used to query a variables type.
while loop
A loop that keeps executing as long as some condition is true. See also: for loop.