コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

統計をやろうとがんばったけども長過ぎるデータと眠気に勝てなかった

はじめに

大分昔に始めたきりでいたR言語の続きだったり、そうでなかったりするよ。興味があったら前の記事も見てね。

作業ディレクトリの設定

文章が長くなりそうなので、いつものだらだらした前口上は今回はできなかった。
まず、データファイルを読み込む前に作業ディレクトリを決めるよ。

・作業用のディレクトリの設定

setwd("C:/***")

※ ""の中は任意のディレクトリを設定

・作業ディレクトリの確認

getwd()
[1] "C:/***"

設定したディレクトリになっていれば大丈夫だよ。

データファイルの読み込み(csvファイル)

今回はこちらからデータを拝借
1 自殺者数の推移|平成26年版自殺対策白書 本文(HTML形式) - 内閣府

こちらの自殺者数の推移のデータを使っていじっていきます。
普通は打撃成績とかそういった当たり障りない情報を使って計算するのだろうけど、ここは僕なのでこんなデータでやるよ。

まずはデータを読み込むよ。さっき、設定した作業スペースにファイルを置いて、下の
headerをFALSEにすると一番上にV1、V2、...がつくよ。
読みこむだけならread.csv()で十分だよ。

> suicide <- read.csv("f1-01.csv", header=FALSE)
> suicide
                                       V1     V2     V3    V4
11-1図 自殺者数の推移(自殺統計)                    
2                                                            
3                                           総数     男    女
4                                     S53 20,788 12,859 7,929
5                                     S54 21,503 13,386 8,117
6                                     S55 21,048 13,155 7,893
7                                     S56 20,434 12,942 7,492
8                                     S57 21,228 13,654 7,574
9                                     S58 25,202 17,116 8,086
10                                    S59 24,596 16,508 8,088
11                                    S60 23,599 15,624 7,975
12                                    S61 25,524 16,497 9,027
13                                    S62 24,460 15,802 8,658
14                                    S63 23,742 14,934 8,808
15                                     H1 22,436 13,818 8,618
16                                     H2 21,346 13,102 8,244
17                                     H3 21,084 13,242 7,842
18                                     H4 22,104 14,296 7,808
19                                     H5 21,851 14,468 7,383
20                                     H6 21,679 14,560 7,119
21                                     H7 22,445 14,874 7,571
22                                     H8 23,104 15,393 7,711
23                                     H9 24,391 16,416 7,975
24                                    H10 32,863 23,013 9,850
25                                    H11 33,048 23,512 9,536
26                                    H12 31,957 22,727 9,230
27                                    H13 31,042 22,144 8,898
28                                    H14 32,143 23,080 9,063
29                                    H15 34,427 24,963 9,464
30                                    H16 32,325 23,272 9,053
31                                    H17 32,552 23,540 9,012
32                                    H18 32,155 22,813 9,342
33                                    H19 33,093 23,478 9,615
34                                    H20 32,249 22,831 9,418
35                                    H21 32,845 23,472 9,373
36                                    H22 31,690 22,283 9,407
37                                    H23 30,651 20,955 9,696
38                                    H24 27,858 19,273 8,585
39                                    H25 27,283 18,787 8,496
40                                                           
41 資料:警察庁「自殺統計」より内閣府

う~ん、中身確認しなかったからこのままだと余計な情報をひっぱってきている気がする。余分と思われる情報を除き形を整えます。

> suicide <- read.csv("f1-01.csv",skip=2,nrows=36,header=T)
> suicide
     X   総数     男    女
1  S53 20,788 12,859 7,929
2  S54 21,503 13,386 8,117
3  S55 21,048 13,155 7,893
4  S56 20,434 12,942 7,492
5  S57 21,228 13,654 7,574
6  S58 25,202 17,116 8,086
7  S59 24,596 16,508 8,088
8  S60 23,599 15,624 7,975
9  S61 25,524 16,497 9,027
10 S62 24,460 15,802 8,658
11 S63 23,742 14,934 8,808
12  H1 22,436 13,818 8,618
13  H2 21,346 13,102 8,244
14  H3 21,084 13,242 7,842
15  H4 22,104 14,296 7,808
16  H5 21,851 14,468 7,383
17  H6 21,679 14,560 7,119
18  H7 22,445 14,874 7,571
19  H8 23,104 15,393 7,711
20  H9 24,391 16,416 7,975
21 H10 32,863 23,013 9,850
22 H11 33,048 23,512 9,536
23 H12 31,957 22,727 9,230
24 H13 31,042 22,144 8,898
25 H14 32,143 23,080 9,063
26 H15 34,427 24,963 9,464
27 H16 32,325 23,272 9,053
28 H17 32,552 23,540 9,012
29 H18 32,155 22,813 9,342
30 H19 33,093 23,478 9,615
31 H20 32,249 22,831 9,418
32 H21 32,845 23,472 9,373
33 H22 31,690 22,283 9,407
34 H23 30,651 20,955 9,696
35 H24 27,858 19,273 8,585
36 H25 27,283 18,787 8,496

とりあえずこんな感じ。
これでデータの調達はできたので次回は集計とかやっていきたい。

今日はもう遅いから終わり。また次回。次回があればね。

ファイルデータの出力

次回もここからいじればできるけど、僕のことなのでそんな同じ作業をやっていたら面倒臭がると思う。
だから加工したデータを出力して終了するよ。

> write.table(suicide,"output.txt",quote=F,sep="\t",row.names=F,col.names=T)
> read.table("output.txt")
    V1     V2     V3    V4
1    X   総数     男    女
2  S53 20,788 12,859 7,929
3  S54 21,503 13,386 8,117
4  S55 21,048 13,155 7,893
5  S56 20,434 12,942 7,492
6  S57 21,228 13,654 7,574
7  S58 25,202 17,116 8,086
8  S59 24,596 16,508 8,088
9  S60 23,599 15,624 7,975
10 S61 25,524 16,497 9,027
11 S62 24,460 15,802 8,658
12 S63 23,742 14,934 8,808
13  H1 22,436 13,818 8,618
14  H2 21,346 13,102 8,244
15  H3 21,084 13,242 7,842
16  H4 22,104 14,296 7,808
17  H5 21,851 14,468 7,383
18  H6 21,679 14,560 7,119
19  H7 22,445 14,874 7,571
20  H8 23,104 15,393 7,711
21  H9 24,391 16,416 7,975
22 H10 32,863 23,013 9,850
23 H11 33,048 23,512 9,536
24 H12 31,957 22,727 9,230
25 H13 31,042 22,144 8,898
26 H14 32,143 23,080 9,063
27 H15 34,427 24,963 9,464
28 H16 32,325 23,272 9,053
29 H17 32,552 23,540 9,012
30 H18 32,155 22,813 9,342
31 H19 33,093 23,478 9,615
32 H20 32,249 22,831 9,418
33 H21 32,845 23,472 9,373
34 H22 31,690 22,283 9,407
35 H23 30,651 20,955 9,696
36 H24 27,858 19,273 8,585
37 H25 27,283 18,787 8,496