Action | Command |
---|---|
Switch apps | commandtab |
Quit apps | commandq |
Spotlight | commandspace |
Cut, Copy, Paste | commandx, -c, -v |
Select all | commanda |
Undo | commandz |
Find | commandf |
Save | commands |
Set OS language to English (System Preferences → Language & Region)
Install Command Line Tools via Terminal.app:
xcode-select --install
Full Xcode is not necessary, but you can have it if you like.
Install Homebrew (software manager):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Try installing something with Homebrew:
brew install wget
wget https://www.lifesci.tohoku.ac.jp/evolgenomics/wp-content/themes/makino/images/logo2.png
You may need to restart shell to reload PATH
# command not found: brew
exec $SHELL -l
brew cask install r rstudio
Details will be explained later.
File → New Project… → New Directory → ~/project/r-training-2019
File → New File → R script
File → New File → R script
Select text with shift←↓↑→
Execute them with ctrlreturn
Separate data, scripts, and results, e.g.,
r-training-2019/ # プロジェクトの最上階
├── data/ # 元データを置くところ
│ ├── iris.tsv
│ └── diamonds.xlsx
├── r-training-2019.Rproj # これダブルクリックでRStudioを起動
├── hello.R
├── output/ # 結果の出力先
│ ├── iris-petal.png
│ └── iris-summary.tsv
├── transform.R # データ整理・変形のスクリプト
└── visualize.R # 作図のスクリプト
プロジェクト最上階を作業ディレクトリとし、
ファイル読み書きの基準にする。(後で詳しく)
Open “Preferences” with command,
x = 42 # Create x
x # What's in x?
[1] 42
y = "24601" # Create y
y # What's in y?
[1] "24601"
x + y # Error!
Error in x + y: non-numeric argument to binary operator
class(x)
[1] "numeric"
is.numeric(x)
[1] TRUE
is.character(x)
[1] FALSE
as.character(x)
[1] "42"
Try applying the same functions to y
.
NULL
: 空っぽTRUE
or FALSE
)42L
or 実数 3.1416
)"a string"
)NA
も定義されてる1個の値でもベクトル扱い。
同じ長さ(または長さ1)の相手との計算が得意。
x = c(1, 2, 9) # 長さ3の数値ベクトル
x + x # 同じ長さ同士の計算
[1] 2 4 18
y = 10 # 長さ1の数値ベクトル
x + y # 長さ3 + 長さ1 = 長さ3 (それぞれ足し算)
[1] 11 12 19
sqrt(x) # square root
[1] 1.000000 1.414214 3.000000
# We don't have to write for-loop like this
z = c(0, 0, 0)
for (i in seq_len(3)) {
z[i] = sqrt(x[i])
}
iris
はアヤメ属3種150個体に関する測定データ。
Rに最初から入ってて、例としてよく使われる。
print(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <fct>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
--
147 6.3 2.5 5.0 1.9 virginica
148 6.5 3.0 5.2 2.0 virginica
149 6.2 3.4 5.4 2.3 virginica
150 5.9 3.0 5.1 1.8 virginica
長さ150の数値ベクトル4本と因子ベクトル1本。
You can read .xlsx
files with readxl package, but
Prefer plain text format, e.g., .csv
and .tsv
.
Use relative path from working directory.
install.packages("readr") # R標準の read.table() とかは難しいので
library(readr) # パッケージのやつを使うよ
readr::write_tsv(iris, "data/iris.tsv")
readr::read_tsv("data/iris.tsv")
Check your current working directory and its contents:
getwd() # Get working directory
list.files(".") # List files in "."
list.files("data") # List files in "./data"
便利な関数やデータセットなどをひとまとめにしたもの。
install.packages("readr") # 一度やればOK
library(readr) # 読み込みはRを起動するたびに必要
update.packages() # たまには更新しよう
Rでデータを上手に扱うためのパッケージ群
install.packages("tidyverse")
library(tidyverse)
# 関連パッケージが一挙に読み込まれる
たくさんありすぎて選べない?
まずは人気のパッケージを https://awesome-r.com/ で探してみるとか。
?sum
, help.start()
str(iris)
, attributes(iris)
No such file or directory
#r_beginners
, #ggplot2