「R」の版間の差分
ナビゲーションに移動
検索に移動
(→閲覧) |
(→閲覧) |
||
468行目: | 468行目: | ||
</pre> | </pre> | ||
====閲覧==== | ====閲覧==== | ||
+ | ※HRはデータフレーム名 | ||
*head() 先頭を見る | *head() 先頭を見る | ||
<pre> | <pre> | ||
485行目: | 486行目: | ||
3456 20201227 9 12 14 13 1 380 1 | 3456 20201227 9 12 14 13 1 380 1 | ||
</pre> | </pre> | ||
+ | *データエディタで閲覧 | ||
+ | <pre> | ||
+ | >edit(HR) | ||
+ | </pre> | ||
+ | ====集計==== | ||
==R Studio== | ==R Studio== |
2020年12月28日 (月) 16:52時点における版
目次
環境
インストール
環境
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)
作業ディレクトリ
- setwd("C:/work/jravan")> setwd("C:/work/jravan")
- > getwd()
- [1] "C:/work/jravan"
基本
代入
- 代入
- > 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")
- 作図デバイスを開く(ファイル名の指定)
- プロット
- 作図デバイスを閉じる(ファイルが保存される)
- > pdf(file='graph.pdf')
- > plot(1:100)
- > dev.off()
データ解析
データ解析の流れ
- データを読み込ませる
- 読み込ませたデータをプロット
- 読み込ませたデータの統計量を求める
ボストンデータセット
- > 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)
基本統計量
意味 | 関数 |
---|---|
総和 | 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つの変数として持つ
- 外見は行列と同じ二次元配列だが、データフレームの各行・列はラベルをなからずもち、ラベルによる操作が可能。
- 簡単作成するには、いくつかのデータをベクトルで用意しておき、それらをdata.frame()で変換する
- data.frame(列名1=ベクトル1,列名2=ベクトル2,・・)
作成
外部ファイルからデータフレームを作成
- ファイルの中身を読み込む
- read.table()
- scan()
- RODBCパッケージ
- odbcConnectXXXX() ファイルにアクセス
- sql.Query() データを読み込み
テキストファイルから
- HR <- read.table("2020_harai_tan.txt", header=TRUE, sep=",")
CSVファイルから
- HR <- read.csv("2020_harai_tan.txt", head=T)
閲覧
※HRはデータフレーム名
- head() 先頭を見る
- > head(HR,5)
- kaisai jyou race_no ttousu stousu tan_uma tan_pay tan_ninki
- 1 20200105 6 1 16 16 7 360 2
- 2 20200105 6 2 16 16 7 590 3
- 3 20200105 6 3 16 16 15 390 3
- 4 20200105 6 4 16 16 1 270 1
- 5 20200105 6 5 10 10 6 160 1
- tail() 末尾を見る
- > tail(HR, 2)
- kaisai jyou race_no ttousu stousu tan_uma tan_pay tan_ninki
- 3455 20201227 9 11 16 16 9 740 4
- 3456 20201227 9 12 14 13 1 380 1
- データエディタで閲覧
- >edit(HR)
集計
R Studio
- Alt + Shift + k : キーボードショートカット一覧
reader
- library(readr)
- dataset <- read_csv("O1.csv")
- View(dataset)
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 の下で造られました
© 2006 矢木浩人