| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

R

提供: MyMemoWiki
2020年12月28日 (月) 04:32時点におけるPiroto (トーク | 投稿記録)による版 (→‎データフレーム)
ナビゲーションに移動 検索に移動

| 数学 | 統計 | ベイズ統計 |

環境

インストール

環境

HELP

  • HELPを表示
> help(log)
> ?log
  • 引数を確認
> args(log)
function (x, base = exp(1)) 

データセット

  • 使用可能なデータセットを表示
data()
  • データセットのHELP
> help(Indometh)

パッケージ

  • Rでは、関数及びデータを文野別に分類してパッケージにまとめている
  • 拡張パッケージのインストールも可能
  • どのようなパッケージが存在するのか調べる
> library()
  • 'base'パッケージを呼び出す
> library(base)
  • 'base'パッケージのHELP
> library(help=base)

基本

代入

  • 代入
> x <- log(100)
> x
[1] 4.60517

代入と表示を同時に行う

  • ()で囲む
> (x <- 1:5)
[1] 1 2 3 4 5

ベクトル

  • 複数の値をまとめる概念
  • c() で、複数の値を一つにまとめることができる
  • 1,2,3,4,5を一つにまとめて変数に代入
> x <- c(1,2,3,4,5)
> x
[1] 1 2 3 4 5
  • まとめた値の平方根をとる
> sqrt(x)
[1] 1.000000 1.414214 1.732051 2.000000 2.236068

ベクトルの要素

  • 取得
> x[2]
[1] 2
  • 代入
> x[2] <- 8
> x
[1] 1 8 3 4 5

ベクトルの結合

  • c(ベクトル,値)
  • c(ベクトル,ベクトル)
> x <- c(x, c(6,7,8))
> x
[1] 1 8 3 4 5 6 7 8

ベクトル演算

  • 互いに対応するベクトル要素どうしの演算となる
> c(1,2,3) + c(3,2,1)
[1] 4 4 4
  • 一つの値の場合、全ての要素に演算
> c(1,2,3) * 2
[1] 2 4 6

インクリメント・デクリメントするベクトルの生成

  • 1から5 まで1ずつ増える
  • 3から-3まで1ずつ減る
> 1:5
[1] 1 2 3 4 5
> 3:-3
[1]  3  2  1  0 -1 -2 -3

数学関数

意味 関数
三角関数 sin(x), cos(x), tan(x)
逆三角関数 asin(x), acos(x), atan(x)
双曲線関数 sinh(x), cosh(x), tanh(x)
逆双曲線関数 asinh(x), acosh(x), atanh(x)
対数 log(x), log10(x), log2(x), log1p(x)
指数関数 exp(x), expm1(x)
平方根 sqrt(x)
四捨五入 round(x)
小数切り下げ floor(x)
小数切り上げ celling(x)
整数部分 trunc(x)
xの符号 sign(x)

関数定義

関数名 <- function(引数) {
        : 計算処理
  return (戻値)
}

エディタの起動

  • fix(関数名)

制御

条件分岐(if/else)

if (条件式) {
   : true の場合
} else {
   : false の場合
}

繰り返し(for)

for (変数 in リスト) {
    : 繰り返し処理
}

数値計算

ニュートン法(uniroot)

多項式の解(polyroot)

  • 二次方程式
  • x^2 + x - 5
> polyroot(c(-5,1,1))
[1]  1.791288-0i -2.791288+0i

グラフ作成

高水準作図関数

*一枚の完成されたグラフを書く

グラフ 関数
散布図 plot(ベクトル),plog(ベクトル1 , ベクトル2)
ヒストグラム hist(ベクトル)
箱ひげ図 boxplot(ベクトル)
棒グラフ barplot(各カテゴリの頻度が入ったベクトル)
円グラフ pie(各カテゴリの頻度が入ったベクトル)
分割表の図 mosaicplot(行列データ)
スターチャート stars(行列データ)
対散布図 pairs(行列データ)
1次元関数のグラフ curve(関数, 左端, 右端)
2次元関数のグラフ persp(x軸, y軸, z軸)

低水準作図関数

  • グラフに装飾を施す
図形 関数
points()
直線 lines(), segments(), abline()
格子 grid()
矢印 arrows()
矩形 rect()
文字 text(), mtext(), title()
枠と軸 box(), axis()
凡例 legend()
多角形 plygon()

グラフの保存

  • 保存ディレクトリの指定
> setwd('~/Workspaces/R')
> getwd()
[1] "/Users/hirotoyagi/Workspaces/R"
  • サポートデバイスを調べる
help("Devices")
  1. 作図デバイスを開く(ファイル名の指定)
  2. プロット
  3. 作図デバイスを閉じる(ファイルが保存される)
> pdf(file='graph.pdf')
> plot(1:100)
> dev.off()

R graph.png

データ解析

データ解析の流れ

  1. データを読み込ませる
  2. 読み込ませたデータをプロット
  3. 読み込ませたデータの統計量を求める

ボストンデータセット

> library(MASS)
> head(Boston)
     crim zn indus chas   nox    rm  age    dis rad tax ptratio  black lstat medv
1 0.00632 18  2.31    0 0.538 6.575 65.2 4.0900   1 296    15.3 396.90  4.98 24.0
2 0.02731  0  7.07    0 0.469 6.421 78.9 4.9671   2 242    17.8 396.90  9.14 21.6
3 0.02729  0  7.07    0 0.469 7.185 61.1 4.9671   2 242    17.8 392.83  4.03 34.7
4 0.03237  0  2.18    0 0.458 6.998 45.8 6.0622   3 222    18.7 394.63  2.94 33.4
5 0.06905  0  2.18    0 0.458 7.147 54.2 6.0622   3 222    18.7 396.90  5.33 36.2
6 0.02985  0  2.18    0 0.458 6.430 58.7 6.0622   3 222    18.7 394.12  5.21 28.7
ヒストグラムを書く
> hist(Boston$rm)

R hist.png

基本統計量

意味 関数
総和 sum(x)
平均 mean(x)
中央値 median(x)
不偏分散 var(x)
標準偏差 sd(x)
最大値 max(x)
最小値 min(x)
重み付平均 weighted.mean(x)
不偏共分散 var(x, y)
相関係数 cor(x、y)
四分位偏差 IQR(x)
5数要約 fivenum(x)
クォンタイル点 quantile(x)
範囲 range(x)
平均 ave(x)

関数とプログラミング

インデックス

記号 意味
x[i] i番目の要素にアクセス
xi i番目のリスト要素にアクセス
x$a xの中のaを取り出す
x[i,j] i行j列目の要素にアクセス
x$"a" xの中のaを取り出す

条件分岐

if ,else

if (条件式) {

} else {

}

switch

switch(<条件式>
  文字列 = <条件式=文字列1の場合の式>,
      :
) 

繰り返し

for

for ( ループ変数 in リスト ) {

}

while

while (条件式) {

}

break,next

  • 抜ける場合break
  • 次へは、next

データハンドリング

  • Rで本格的なデータを扱う際には、データフレームという形式にする。
  • データフレーム上で様々な処理を行う。

データフレーム

  • データフレームとは、data.frame クラスを持つリストのこと
  • 数値ベクトルや文字ベクトル、因子ベクトル(文字型ベクトル)などの異なる型のデータをまとめて1つの変数として持つ
  • 外見は行列と同じ二次元配列だが、データフレームの各行・列はラベルをなからずもち、ラベルによる操作が可能。

R Studio

  • Alt + Shift + k : キーボードショートカット一覧

reader

library(readr)
dataset <- read_csv("O1.csv")
View(dataset)

1081 r reader.jpg

dplyr

install

 install.packages("dplyr")


Tips

Error in o1 %>% head : could not find function "%>%"

> install.packages("magrittr")
> library(magrittr)
Warning message:
 パッケージ ‘magrittr’ はバージョン 3.4.4 の R の下で造られました