LoginSignup
3
3

More than 5 years have passed since last update.

Rで統計をするための備忘録

Last updated at Posted at 2017-12-26

※メモしたいことが増え次第追記

桁数を指定

# 桁数指定
> format(0.3456789, digits = 2)
[1] "0.35"

# 百分率表記
> sprintf("%1.2f", 0.123456 * 100)
[1] "12.35"

列の入替え

> df
  A C B
1 1 3 2

> df[,c(1,3,2)]
  A B C
1 1 2 3

R:データフレームの列を入れ替える・削除する。

plotされる図で日本語が文字化け回避

# フォントをHirakakuProN-W3に設定
> par(family = "HiraKakuProN-W3")

描画関連

誤差バーを追加

# (x, y)の点に対してyに標準偏差をプロット
arrows(x, y - stddev, x, y + stddev, code = 3, length = 0.02, angle = 90)

y = xの線をプロット

abline(0, 1, lty = 2)

凡例を追加

legend("topleft", lty = rep(1, 6), legend=labels, col = palette()[-1])

乱数の生成

# 5つの乱数生成
> runif(5) # デフォルトでは0~1
[1] 0.7698414 0.4976992 0.7176185 0.9919061 0.3800352

# 0~10の間で乱数生成
> runif(5, min = 0, max = 10) 
[1] 7.774452 9.347052 2.121425 6.516738 1.255551

# シードの固定(同じ乱数を出力する)
> set.seed(1); runif(5)
[1] 0.2655087 0.3721239 0.5728534 0.9082078 0.2016819

分布関数から値の取得

確率分布と乱数に関する使い方

用途 関数名 説明
確率密度(pdf: probably density function) dxxx(q) qは確率点を表す
累積分布(cdf: cumulative distribution function) pxxx(q)
確率点(qauntile) qxxx(p)
乱数(random) rxxx(p)

Rに用意されてる主要な確率分布

分布名 コード名 パラメータ
ベータ分布 beta
二項分布 binom n: 事象が起きる回数, size:試行回数, prob:事象が起きる確率
コーシー分布 cauchy
χ二乗分布 chisq
指数分布 exp
F分布 f
ガンマ分布 gamma
幾何分布 geom
超幾何分布 hyper
対数正規分布 lnorm
ロジスティック分布 logis
多項分布 multinom
負の2項分布 nbinom
正規分布 norm
ポアソン分布 pois
t分布 t
一様分布 unif min:最小値, max:最大値

参考:確率分布と乱数

離散値から累積密度関数と累積確率の算出

累積分布関数$F$は「確率変数$X$がある値$x$以下($X \le x$)の値となる確率」を表す関数

$$
F(x) = P(X \le x)
$$

# 正規分布からサンプリング
> sample <- rnorm(100)

# 確率密度でヒストグラムを描画
> hist(sample, freq = F)

# 確率密度の曲線描画
> lines(density(sample))

# 累積確率関数の生成
> ecdf.sample <- ecdf(sample)

# 1.5以下の累積確率
> ecdf.sample(1.5)
[1] 0.93

# 累積確率の閾値描画

Rplot01.png

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3