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

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

![51x-SlSQFFL._SL500_.jpg](https://qiita-image-store.s3.amazonaws.com/0/51423/5bf9936d-c7f4-5f70-757f-c69358538ae3.jpeg)
https://www.amazon.co.jp/dp/4274220230

データ等
https://sites.google.com/site/yasatekir/

#　第5章　データの可視化

## 5.1 度数分布図(histgram)
### corporaの追加（初回のみ）

``` p83
> 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’ 
```
### ライブラリの設定、データ準備、５行表示

``` ライブラリ（Rを起動するごとに毎回）
> library(corpora)
> # データの準備
> data(BNCbiber)
> #先頭５行表示
> 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読み込めない場合の代替処理

``` 代替処理（csvファイルからの読み込み）
> BNCbiber <- read.csv(file.choose(), header = TRUE, row.names = 1)
Enter file name: BNCbiber.csv
```
### 度数分布図

``` 度数分布図(histgram)
> hist(BNCbiber[, 2])
```
<img width="584" alt="zu1.png" src="https://qiita-image-store.s3.amazonaws.com/0/51423/bc752ffa-6e5b-6adb-55f0-292c92d612f6.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")
```
<img width="598" alt="zu2.png" src="https://qiita-image-store.s3.amazonaws.com/0/51423/f0f52fac-6482-2ec9-488f-5d5ebc030d60.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
```

<img width="521" alt="zu4.png" src="https://qiita-image-store.s3.amazonaws.com/0/51423/9a1d8bad-ed5f-4744-b148-dd372d3c0efd.png">

###　灰色に

```　色の変更
> boxplot(BNCbiber[, 2], range = 0, main = "past tense", col = "grey")
> boxplot(BNCbiber[, 2], main = "past tense", col = "grey")
```
<img width="512" alt="zu5.png" src="https://qiita-image-store.s3.amazonaws.com/0/51423/4b5ea490-338e-8a9b-4bb7-c6aa720bf61a.png">

### pym.csvからの読み込み

```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")
```
<img width="517" alt="zu7.png" src="https://qiita-image-store.s3.amazonaws.com/0/51423/542be041-60ca-f620-28ff-69fdcf55a952.png">

### 切り込み(notch)のある箱ひげ図
```
> boxplot(pym[, 2] ~ pym[, 6], names = c("high", "low"), col = "grey", notch = TRUE)
```
<img width="514" alt="zu8.png" src="https://qiita-image-store.s3.amazonaws.com/0/51423/43d704af-c10f-e856-1b06-37b98c04b629.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)
```
<img width="536" alt="zu10.png" src="https://qiita-image-store.s3.amazonaws.com/0/51423/d7e0aac2-121f-45c6-3528-4f6cc5521919.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’ のインストールは、ゼロでない終了値をもちました 
```

エラー原因調査中。

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

# 参考資料　
日本のプログラマが世界で戦える16分野。仮説(53),統計と確率(25)
https://qiita.com/kaizen_nagoya/items/a7e634a996cdd02bc53b
# 関連資料
' @kazuo_reve 私が効果を確認した「小川メソッド」
https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

' @kazuo_reve 新人の方によく展開している有益な情報
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

' @kazuo_reve Vモデルについて勘違いしていたと思ったこと
https://qiita.com/kazuo_reve/items/46fddb094563bd9b2e1e
## 自己記事一覧
Qiitaで逆リンクを表示しなくなったような気がする。時々、スマフォで表示するとあらわっることがあり、完全に削除したのではなさそう。

４月以降、せっせとリンクリストを作り、統計を取って確率を説明しようとしている。
2025年２月末を目標にしている。

Qiitaの記事に３段階または５段階で到達するための方法
https://qiita.com/kaizen_nagoya/items/6e9298296852325adc5e

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

逆も真：社会人が最初に確かめるとよいこと。OSEK(69)、Ethernet(59)
https://qiita.com/kaizen_nagoya/items/39afe4a728a31b903ddc

「何を」よりも「誰を」。１０年後のために今見習いたい人たち
https://qiita.com/kaizen_nagoya/items/8045978b16eb49d572b2

物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

量子(0) 計算機, 量子力学 
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

図(0) state, sequence and timing. UML and お絵描き 
https://qiita.com/kaizen_nagoya/items/60440a882146aeee9e8f

品質一覧 
https://qiita.com/kaizen_nagoya/items/2b99b8e9db6d94b2e971

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

音楽　一覧(0) 
https://qiita.com/kaizen_nagoya/items/b6e5f42bbfe3bbe40f5d

「@kazuo_reve 新人の方によく展開している有益な情報」確認一覧 
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

Qiita(0)Qiita関連記事一覧（自分）
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道（０）鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

Python(0)記事をまとめたい。
https://qiita.com/kaizen_nagoya/items/088c57d70ab6904ebb53

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

「はじめての」シリーズ　 ベクタージャパン　
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb

AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧　
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

100以上いいねをいただいた記事16選
https://qiita.com/kaizen_nagoya/items/f8d958d9084ffbd15d2a

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53
# 参考資料
物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

OSEK 記事で views 100,000を目指して　OSEK(8)
https://qiita.com/kaizen_nagoya/items/ff45ee55566eeff5f62e

無線網（Wi-Fi）空中線(antenna)(0) 記事https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

なぜdockerで機械学習するか 書籍・ソース一覧作成中 
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

仮説（0）一覧
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧　
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

小川清最終講義、小川清最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
### 文書履歴(document history)
ver. 0.01 初稿 　20180205
ver. 0.02 ありがとう追記　20230508
## 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
####  Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.