Rの基本的なコマンド

# Rの基本的なコマンド

最近統計の学習を行いつつ、アウトプットもしなきゃなーと思いはじめ、Rを使用してアウトプットしています。そんな中、勉強したての自分は覚えが悪いので、何回かおんなじコマンドに関して調べたりしちゃいます。
すんごく効率が悪いな～と感じ始めたので自分のためにもここによく使いそうなコマンドを書き記しておこうと思います。Rの初学者の方もこれをみれば基本的なことはできるようになるのではないかと思いますので一緒に勉強していきましょー！

### ベクトルの作成
```
x <- c(1,2,3,4,5)
x
>[1] 1 2 3 4 5
```

### 数列の作成

```
x <- 2:10
>[1]  2  3  4  5  6  7  8  9 10

x <- seq(2,10)
>[1]  2  3  4  5  6  7  8  9 10

#10個の等間隔の数になる
x <- seq(0,1 , length = 10)
> [1] 0.0000000 0.1111111 0.2222222 0.3333333 0.4444444 0.5555556
 [7] 0.6666667 0.7777778 0.8888889 1.0000000
```

### 要素数の確認
```
x <- c(1,2,3,4,5)
length(x)
> [1] 5
```

### 要素同士の足し算
```
x <- c(1,2,3,4,5)
y <- c(10 , 11 , 12 , 13 , 14)
x+y
>[1] 11 13 15 17 19
```

### 平方根や累乗
```
y = 3
#平方根や累乗
sqrt(y)
>[1] 1.732051
y^2
>[1] 9
```

### オブジェクトの確認
```
#lsはそれ以前に保存したデータや関数などの全てのオブジェクトを確認する
ls()
>[1] "x" "y"
```

### オブジェクトの削除
```
#指定したオブジェクトを削除
rm(x)

#一気にオブジェクトを削除する
rm(list=ls())
```

### 行列の作成
```
#matrix関数は行列を渡す。data:データ ,nrow:行数 ,ncol:列数,byrow:Trueにすると行順で埋めてくれる
x <- c(1,2,3,4,5,6)
y <- matrix(data = x , nrow = 2 , ncol = 3)
>     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

#与えられた行列の行と列を返す関数
dim(y)
>[1] 2 3

#二つのベクトルから行列を作成
x <- 1:4
y <- 11:14
#関数を指定しなければ積になる
outer(x,y)
>     [,1] [,2] [,3] [,4]
[1,]   11   12   13   14
[2,]   22   24   26   28
[3,]   33   36   39   42
[4,]   44   48   52   56
```

### 正規分布に従う乱数の生成
```
y <- rnorm(n=5)
>[1]  0.8822328 -1.5968493  2.2953004 -0.9707423  2.1028912

#何回もおんなじ乱数を取得したい場合set.seed()を使用
set.seed(1023)
y <- rnorm(n=5)
```

### 相関係数を求める
```
y <- rnorm(n=1000)
x <- rnorm(n=1000)
cor(x,y)
>[1] -0.01911821
```

### 平均・分散・標準偏差
```
x <- rnorm(n=1000)
# 平均
mean(x)
[1] 0.03052587

# 分散
var(x)
[1] 1.008603

#標準偏差
sd(x)
[1] 1.004293

sqrt(var(x)
[1] 1.004293
```

### 関数の作成
```
f <- function(x,y){x-y}
f(4,22)
[1] -18
```

### グラフの表示

```
#グラフの表示
plot(x,y)
plot(x,y,xlab = "x",ylab = "y")

```
![figure.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/f2454163-c457-7b97-5156-1c93c11d303c.jpeg)

### 出力したプロットの保存
```
#pdfでの保存
pdf('figure.pdf')
plot(x,y,col='red')
dev.off()#グラフを閉じる

#jpegでの保存
jpeg('figure.jpg')
plot(x,y)
dev.off()#グラフを閉じる
```

### データの読み込み
```
auto <- read.csv("./csv/Auto.csv")
fix(auto)#fixをしようすることによってウィンドウに表示されるようになる。
```
### 変数名の表示
```
#変数名の表示
names(auto)

[1] "mpg"          "cylinders"    "displacement" "horsepower"  
[5] "weight"       "acceleration" "year"         "origin"      
[9] "name"  
```
### 読み込んだデータの大きさの確認
```
#データの大きさの確認
dim(auto)
[1] 399   9
```

### 欠損値の削除
```
#欠損値の削除
auto <- na.omit(auto)
dim(auto)
[1] 392   9
```

### データの要約
```
#データの要約
summary(auto)

#変数を指定して要約を見ることも可能
attach(auto)
summary(mpg)
```

### 読み込んだデータのプロット
```
#データをプロットする方法
plot(auto$cylinders,auto$mpg)

#最初にattachすることによって変数のみの指定でプロットすることが出来る
attach(auto)
plot(cylinders ,mpg)
```
![figure2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/bfba017f-a854-5ee1-63b0-c6232667c5ba.jpeg)


#### 量的変数から質的変数に変更することによって箱ひげ図を作成することが出来る。
```
#量的変数を質的変数に変換
cylinders <- as.factor(cylinders)
plot(cylinders , mpg)
```

![figure3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/75ec98ca-cc72-46f1-22b2-bb34dde73330.jpeg)

### 散布図行列の作成
```
pairs(~mpg + displacement + horsepower + weight+ acceleration ,auto , panel = panel.smooth)
```
![figure4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/08c4c90e-ab0b-dfb6-23ab-0cc004f219be.jpeg)


### ヒストグラムの作成
```
#ヒストグラムの作成
hist(mpg)
```

![figure5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/317a2589-8628-a24f-9d38-53e5403ff98f.jpeg)

## まとめ

今回は超基本的なRコマンドをまとめてみました。引数とかの説明とかは”?function名”を行うことで確認することが出来るのでもし引数の詳細が気になる場合は是非かくにんしてみてくださ～い！