CSVのデータを使って散布図とヒストグラムを作る
2015-02-09
QiitaRはじめに
R-Tips 見たら全部わかる
データの用意
ファイルの読み込み
> data <- read.csv('./plot_tfidf.csv', header=T, sep=",")
> data
a b
1 0.688 0.1930
2 0.701 0.7370
3 0.705 0.6860
4 0.732 0.0174
5 0.341 0.1390
read.csvの引数のheaderにT[RUE]かF[ALSE]のどちらを与えるかでヘッダーの扱いが変わる
> data <- read.csv('./text.csv', header=F, sep=",")
> data
V1 V2
1 a b
2 0.688 0.193
3 0.701 0.737
4 0.705 0.686
5 0.732 0.0174
6 0.341 0.139
要素へのアクセス
> data[1]
a
1 0.688
2 0.701
3 0.705
4 0.732
5 0.341
> data$a
[1] 0.688 0.701 0.705 0.732 0.341
ヘッダーにTを与えていると$でアクセスできる
統計情報
簡単なものでsummaryが便利
> summary(data)
a b
Min. :0.3410 Min. :0.0174
1st Qu.:0.6880 1st Qu.:0.1390
Median :0.7010 Median :0.1930
Mean :0.6334 Mean :0.3545
3rd Qu.:0.7050 3rd Qu.:0.6860
Max. :0.7320 Max. :0.7370
それぞれ
Min: 最小値1st Qu.: 第一四分位数Median: 中央値Mean: 平均値3rd Qu.: 第三四分位数Max.: 最大値
第一四分位数は下から 1/4 の順位の値を指している
図
aとbの値をそれぞれ散布図にプロットします
そのまま
そのまま表示
> plot(data)
縦横を入れ替える
縦横入れ替え
> plot(rev(data))
軸の取る値を指定する
縦軸/横軸の範囲を決める
> plot(data, xlim=c(0,1),ylim=c(0,1))
このようにc(min, max)で軸の取る値を決めることが出来ます
散布図の見た目を変える
見た目
> plot(data, xlim=c(0,1),ylim=c(0,1), pch=11, col="red", type="b", lty=5)
pchで点の表示方法
ltyで線の表示方法
colで色
typeで plot の形式
補助線
補助線1
> plot(data, xlim=c(0,1),ylim=c(0,1),
+ panel.first=(
+ grid(4, 6, lty=2, col="blue")))
補助線はpanel.firstに指定する
gridの第一引数が x 軸を、第二引数が y 軸を何分割にするかを指定できる
もう少し自由に線を引いたり、目盛りに線を合わせるためには、
補助線
> plot(data, xlim=c(0,1),ylim=c(0,1),
+ panel.first=(
+ grid(
+ abline(h=seq(0.0, 1.0, by=0.1), col="red", lty=3),
+ abline(v=seq(0.0, 1.0, by=0.1), col="blue", lty=4)
+ )
+ )
+ )
のようにする いまいち挙動はわかっていない...
ablineで線を引く事ができて、v=かh=で x 軸、y 軸にそれぞれ垂直な線を指定できる
seqは連続値を生成するっぽいので、このような図が表示される
ヒストグラム
データ
x <- rnorm(1000)
rnormで正規分布に従う乱数を生成できる
単純なヒストグラムは以下のように出来る
ヒストグラム1
> hist(x)
ヒストグラム2
> hist(x, main="test x", xlab="this is x", ylab="freq", label=T)
mainでタイトル、xlabとylabで x 軸と y 軸のラベル、labelで個数を表示できる
ヒストグラム3
> hist(x, main="test x", xlab="this is x", ylab="freq", label=T, breaks=50)
breaksでいくつに分割するかを指定できる
from: https://qiita.com/petitviolet/items/9d95c687f38251534f1e