R
文字列処理
箱ひげ図
度数分布図

「Rによるやさしいテキストマイニング」小林雄一郎 著 Ohmsha

「Rによるやさしいテキストマイニング」小林雄一郎 著 Ohmsha

51x-SlSQFFL._SL500_.jpg
https://www.amazon.co.jp/dp/4274220230

データ等

https://sites.google.com/site/yasatekir/

 第5章 データの可視化

5.1 度数分布図(histgram)

corporaの追加(初回のみ)

> install.packages("corpora", dependencies = TRUE)
 パッケージを ‘/usr/local/lib/R/3.4/site-library’ 中にインストールします 
 (‘lib’ が指定されていないため) 
 --- このセッションで使うために、CRAN のミラーサイトを選んでください --- 
Secure CRAN mirrors 
 1: 0-Cloud [https]                   2: Algeria [https]                

* snip *

37: Italy (Padua) [https]            38: Japan (Tokyo) [https]          
39: Japan (Yonezawa) [https]         40: Malaysia [https]               

* snip *

63: (other mirrors)                  

Selection: 38
 URL 'https://cran.ism.ac.jp/src/contrib/corpora_0.4-3.tar.gz' を試しています 
Content type 'application/x-gzip' length 1476200 bytes (1.4 MB)
==================================================
downloaded 1.4 MB

* installing *source* package ‘corpora’ ...
**  パッケージ ‘corpora’ の解凍および MD5 サムの検証に成功しました 
** R
** data
*** moving datasets to lazyload DB
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (corpora)

 ダウンロードされたパッケージは、以下にあります 
 ‘/private/var/folders/sr/wkn5l4_50ql50_lkt5x7glnw0000gn/T/RtmpbYy1x6/downloaded_packages’ 

ライブラリの設定、データ準備、5行表示

> library(corpora)
> # データの準備
> data(BNCbiber)
> #先頭5行表示
> head(BNCbiber, 5)
   id f_01_past_tense f_02_perfect_aspect f_03_present_tense
1 A00       17.291833            9.177973           48.81617
2 A01        4.658562            5.794796           64.42450
3 A02        9.991898           10.532001           55.36052
4 A03       31.012396           10.875075           36.40385
5 A04       21.271745            5.927817           44.18504

* snip *

  f_67_neg_analytic
1          4.256451
2          7.953642
3          2.160410
4          3.087415
5          4.445863

corpora読み込めない場合の代替処理

> BNCbiber <- read.csv(file.choose(), header = TRUE, row.names = 1)
Enter file name: BNCbiber.csv

度数分布図

> hist(BNCbiber[, 2])

zu1.png

データ名$列ラベル

> class(BNCbiber)
[1] "data.frame"
> hist(BNCbiber$f_01_past_tense)
 hist.default(BNCbiber$f_01_past_tense) でエラー: 
   'x' は数値でなければなりません 

エラー理由調査中。

標題、軸名を変更

> hist(BNCbiber[, 2], main = "past tense", xlab = "frequency", ylab = "number of texts")

zu2.png

> hist(BNCbiber[, 2], main = "past tense", xlab = "frequency", ylab = "number of texts", col = "grey")
> colors()
  [1] "white"                "aliceblue"            "antiquewhite"        
  [4] "antiquewhite1"        "antiquewhite2"        "antiquewhite3"       

* snip *

[655] "yellow3"              "yellow4"              "yellowgreen"         
> 

5.2 箱ひげ図

> boxplot(BNCbiber[, 2], range = 0)
> boxplot.stats(BNCbiber[, 2])
$stats
[1]  0.00000 13.18192 23.05965 40.51057 81.43130

$n
[1] 4048

$conf
[1] 22.38099 23.73832

$out
 [1]  84.40570  86.11713  95.10344  85.65001  82.48114  81.59617  83.41675
 [8]  83.39933 105.12367  89.28531  82.40840  91.68170  85.50300  96.74923
[15]  97.96977  83.57266  86.96226  81.57343  84.21053  81.76729  84.16660
[22]  82.94931  82.37352  85.82061  90.07165  83.43257  92.57199  86.14513
[29]  85.00508  89.62776  85.30711  87.54826  81.92417  85.92392  82.34204
[36]  89.39865  84.47239  86.19764  87.79622  86.32226  84.11808  83.06354
[43]  86.74815  84.78993  84.08948  86.21333  93.75665  91.91598  93.60701
[50]  96.27018  84.69604  84.55379  97.95028  83.12163  91.69214  81.83542
[57]  85.83523  83.16462  91.10896  83.17136  83.27502  85.52245  82.89347
[64]  81.52762  81.84273  85.71303  82.36674  87.45139  84.98643  84.10429

zu4.png

 灰色に

> boxplot(BNCbiber[, 2], range = 0, main = "past tense", col = "grey")
> boxplot(BNCbiber[, 2], main = "past tense", col = "grey")

zu5.png

pym.csvからの読み込み

> pym <- read.csv(file.choose(), header = TRUE, row.names = 1)
Enter file name: pym.csv

先頭5行表示、図表示

> head(pym, 5)
       syl let imag conc assoc freq
time     1   4 4.13 2.47  7.00 high
life     1   4 4.07 2.96  6.78 high
home     1   4 6.50 6.25  6.88 high
church   1   6 6.63 6.59  7.52 high
mind     1   4 3.03 2.60  5.88 high
> boxplot(pym[, 2] ~ pym[, 6], names = c("high", "low"), col = "grey")

zu7.png

切り込み(notch)のある箱ひげ図

> boxplot(pym[, 2] ~ pym[, 6], names = c("high", "low"), col = "grey", notch = TRUE)

zu8.png

箱ひげ図とデータ分布の同時表示

> install.packages("beeswarm", dependencies = TRUE)
 パッケージを ‘/usr/local/lib/R/3.4/site-library’ 中にインストールします 
 (‘lib’ が指定されていないため) 
 URL 'https://cran.ism.ac.jp/src/contrib/beeswarm_0.2.3.tar.gz' を試しています 
Content type 'application/x-gzip' length 19850 bytes (19 KB)
==================================================
downloaded 19 KB

* installing *source* package ‘beeswarm’ ...
**  パッケージ ‘beeswarm’ の解凍および MD5 サムの検証に成功しました 
** R
** data
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (beeswarm)

 ダウンロードされたパッケージは、以下にあります 
 ‘/private/var/folders/sr/wkn5l4_50ql50_lkt5x7glnw0000gn/T/RtmpbYy1x6/downloaded_packages’ 
> library(beeswarm)
> boxplot(pym[, 2] ~ pym[, 6], names = c("high", "low"), col = "grey")
> beeswarm(pym[, 2] ~ pym[, 6], col = "black", pch = 16, add = TRUE)

zu10.png

ヴィオリンプロット

> install.packages("vioplot", dependencies = TRUE)
 パッケージを ‘/usr/local/lib/R/3.4/site-library’ 中にインストールします 
 (‘lib’ が指定されていないため) 
 依存対象 (dependency) ‘sm’ もインストールします 

 URL 'https://cran.ism.ac.jp/src/contrib/sm_2.2-5.4.tar.gz' を試しています 
Content type 'application/x-gzip' length 256311 bytes (250 KB)
==================================================
downloaded 250 KB

 URL 'https://cran.ism.ac.jp/src/contrib/vioplot_0.2.tar.gz' を試しています 
Content type 'application/x-gzip' length 3801 bytes
==================================================
downloaded 3801 bytes

* installing *source* package ‘sm’ ...
**  パッケージ ‘sm’ の解凍および MD5 サムの検証に成功しました 
** libs
clang -I/usr/local/Cellar/r/3.4.3_1/lib/R/include -DNDEBUG   -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/include   -fPIC  -g -O2  -c fgamma.c -o fgamma.o
In file included from fgamma.c:1:
/usr/local/Cellar/r/3.4.3_1/lib/R/include/Rmath.h:45:11: fatal error: 'math.h'
      file not found
# include <math.h>
          ^~~~~~~~
1 error generated.
make: *** [fgamma.o] Error 1
ERROR: compilation failed for package ‘sm’
* removing ‘/usr/local/lib/R/3.4/site-library/sm’
ERROR: dependency ‘sm’ is not available for package ‘vioplot’
* removing ‘/usr/local/lib/R/3.4/site-library/vioplot’

 ダウンロードされたパッケージは、以下にあります 
 ‘/private/var/folders/sr/wkn5l4_50ql50_lkt5x7glnw0000gn/T/RtmpbYy1x6/downloaded_packages’ 
 警告メッセージ: 
1:  install.packages("vioplot", dependencies = TRUE) で: 
   パッケージ ‘sm’ のインストールは、ゼロでない終了値をもちました 
2:  install.packages("vioplot", dependencies = TRUE) で: 
   パッケージ ‘vioplot’ のインストールは、ゼロでない終了値をもちました 

エラー原因調査中。

<この項は書きかけです。順次追記します。>