ハイ、あります。ファイルから読み込みましょう。データとプログラムを分離するためにも。
ここでは、中日ドラゴンズの選手の体格を分析することを例に説明します。 なお、以下のリンクをクリックする際にはマウスの右クリックを使って「新しいウインドウで開く」で開くようにしてください。単にクリックするとMoodle内で開いてしまうので非常に見辛くなります。
今回の例では、データはWeb上に提示されているものの、手元にデータが 存在するわけではない。そこで、これらの選手データをファイルの形で 保存したい。そのためのツールとして、Excelは非常にパワフルなツールだと 考えている。
このWebからデータをもらってきて、Excelに入力ください。
[蛇足] パソコン処理に慣れた方なら、Webの数値群をExcelに コピーペーストで入力できてしまうことをご存知かもしれません。
本来は各自で取り組んでほしいのだが、時間の関係もあり、 ここでは、もう既に電子化したファイルをこちらから提供することにします。 Moodleにファイルを保存しておきますので、 各自のPCにダウンロードください。 本来は各自で入力したと想定くださいね。
● Dragons24.xlsx
ファイルを開けてこのサンプルファイルをご覧いただきたいのですが、 ファイルの最初の方に、いくつかの説明が記入されていることが判るであろう。
CSV形式とは、Comma Separated Valueの略で、各値がコンマ区切りの テキストファイルで保存されたファイルを指す。 CSV形式であればRから容易に読み込めるので、この形式でファイルを保存する。Excelで通常の形式(.xlsx)で保存した後、 [ファイル]-[名前をつけて保存]で ウインドウの左下にある[ファイルの種類]に「CSV UTF-8(コンマ区切り)(.csv)」を選択し保存する。その際、警告ウインドウが表示されることがあるが無視してかまわない。 保存した場所とファイル名を忘れないように。
なお、Excelの保存ファイル形式には、他に「CSV(コンマ区切り)(*.csv)」という似た形式のものもある(下の方に表示されている。保存する文字コードがShift-JISコートになる)ので、注意が必要である。
【メモ】WindowsでもR 4.2.0以降(先週最新版をインストールした人はR 4.4.1のはず)は、UTF-8がデフォルトの文字コードとなった。それ以前は Shift-JIS(CP932)だった。詳細は5.8節参照。
CSV形式で保存したファイル(Dragons24.csv)を Rのディレクトリ(各自で異なる)にコピーする。 先週紹介したサイトの例をそのまま踏襲された方は、 作業ディレクトリが「Cドライブの中の、R_practiceというフォルダ」として おられるかもしれません。 私は作業ディレクトリを「D:/home_sub3/R_Dir」と指定しているので、 このディレクトリの下の、「KougiDS24というフォルダ」に 「Dragons24.csv」をコピーしました。
【余談】本講義では皆さんに「各自で興味あるデータ」の分析を してもらうことをお知らせしています。皆さんが持参されたデータが どのような媒体で持ち込まれるかは判りませんが、例えば本や雑誌といった 紙媒体なら、上記の方法で手入力してCSVファイルの形式にしてください。 また、Web等の電子媒体の場合も、データの形式を整えてCSVファイルを 準備するようにしてください。 電子化する際は本節が役に立つと思います。 お解りにならない方は遠慮なくご質問ください。
お待たせしました。やっとR側からファイルを読み込む方法をご紹介します。 まず、保存先のディレクトリに移動します。 私はRのホームディレクトリを「D:/home_sub3/R_Dir」と指定しているので、 明示的に移動を示すなら以下の指示を入れます。 RStudioの設定で既に指定してあれば、敢えては必要ありません。
setwd("D:/home_sub3/R_Dir") # ホームディレクトリに移動(Set Working Directory)
getwd() # 現在のディレクトリを表示(Get Working Directory)
## [1] "D:/home_sub3/R_Dir"
list.files() # ファイル名一覧
## [1] "DNC_Tsuiseki" "DNC21" "Dragons"
## [4] "Food" "grain" "JEES"
## [7] "KougiDS20" "KougiDS21" "KougiDS22"
## [10] "KougiDS23" "KougiDS24" "LibraryInstall2211a.R"
## [13] "Misc" "NitechNSK21_R" "NitechNSK22_R"
## [16] "NitechNSK23_R" "plot1.png" "PresentationSample.Rmd"
## [19] "PresenTest.html" "PresenTest.Rmd" "R_Dir_NKK20"
## [22] "StatEdu24" "StatM20" "StatM21"
## [25] "StatM22" "StatM23" "Terao.zip"
## [28] "Terao_Lenovo" "Terao1" "Terao2"
## [31] "Unemployment" "確立楕円.R"
setwd("KougiDS24") # ディレクトリを移動
list.files() # ファイル名一覧
## [1] "Dragons24.csv" "DS01_Questionnaire1.csv"
## [3] "DS01_Questionnaire2.csv" "DS01_Questionnaire3.csv"
## [5] "DS2402_1.pdf" "DS2402_1c.html"
## [7] "DS2402_1c.Rmd" "DS2402_2.pdf"
## [9] "DS2402_2a.html" "DS2402_2a.Rmd"
## [11] "DS2402_3.pdf" "DS2402_3a.html"
## [13] "DS2402_3a.Rmd" "DS2402_3b.BAK"
## [15] "DS2402_3b.html" "DS2402_3b.Rmd"
## [17] "DS2403_1.pdf" "DS2403_1a.html"
## [19] "DS2403_1a.Rmd" "ExcelStudent24b.jpg"
## [21] "Exp" "lec01"
## [23] "NewsPaper" "OldFiles"
## [25] "RStudio_Display.jpg" "RStudio_Icon.jpg"
## [27] "StockFiles" "StudAll23b.csv"
## [29] "StudAll24b.csv" "新聞記事"
## [31] "労働男女集約1_抽出2EUC.csv"
ファイルを読み込みます。その際、先頭の6行には説明等の分析に必要ない 情報が書き込まれていますので、読み飛ばす(スキップ)します。 また、それに続く行に変数名が指定されているので、 これをヘッダーとして取り扱うことを指示するために「header=TRUE」を 指定しておきます。Excel入力時にこの行を準備してもらったのは このように指定できるからです。この行を準備していない場合は システム側が任意の変数名を付けてくれますが、無味簡素な名称なので、 意味が理解しやすい変数名を自分で付ける方が効率が上がると思います。
ズレがないかを目視で確認する。ただし、ブラウザの都合で漢字の横幅が不均等のためややズレたように見えることがあるので、その点はご容赦いただきたい。
Drag24<-read.csv("Dragons24.csv", skip=6, header=TRUE) # CSVデータの読み込み
Drag24 # データの表示
## No. Name Position BoY BoM BoD height weight Tou Da
## 1 7 根尾 昂 投手 2000 4 19 177 84 右 左
## 2 11 小笠原 慎之介 投手 1997 10 8 180 93 左 左
## 3 12 田島 慎二 投手 1989 12 21 181 87 右 右
## 4 13 橋本 侑樹 投手 1998 1 8 180 75 左 左
## 5 14 草加 勝 投手 2001 11 21 182 75 右 右
## 6 16 岩嵜 翔 投手 1989 10 21 189 90 右 右
## 7 17 柳 裕也 投手 1994 4 22 180 85 右 右
## 8 18 梅津 晃大 投手 1996 10 24 187 95 右 右
## 9 19 髙橋 宏斗 投手 2002 8 9 186 86 右 右
## 10 20 涌井 秀章 投手 1986 6 21 185 85 右 右
## 11 22 大野 雄大 投手 1988 9 26 184 85 左 左
## 12 24 福谷 浩司 投手 1991 1 9 183 93 右 右
## 13 26 石森 大誠 投手 1997 12 3 178 83 左 左
## 14 28 森 博人 投手 1998 5 25 177 84 右 右
## 15 31 仲地 礼亜 投手 2001 2 15 177 83 右 右
## 16 33 祖父江 大輔 投手 1987 8 11 175 75 右 左
## 17 34 福 敬登 投手 1992 6 16 181 98 左 左
## 18 36 福田 幸之介 投手 2005 8 11 181 84 左 左
## 19 38 松葉 貴大 投手 1990 8 14 179 82 左 左
## 20 41 勝野 昌慶 投手 1997 6 12 181 89 右 右
## 21 46 梅野 雄吾 投手 1999 1 13 175 84 右 右
## 22 47 砂田 毅樹 投手 1995 7 20 180 80 左 左
## 23 48 土生 翔太 投手 2001 3 10 180 93 右 右
## 24 50 清水 達也 投手 1999 11 3 184 90 右 右
## 25 54 藤嶋 健人 投手 1998 5 8 177 85 右 右
## 26 59 齋藤 綱記 投手 1996 12 18 182 91 左 左
## 27 64 福島 章太 投手 2002 10 24 177 92 左 左
## 28 67 上田 洸太朗 投手 2002 9 6 184 91 左 左
## 29 69 松木平 優太 投手 2003 2 24 178 78 右 右
## 30 90 松山 晋也 投手 2000 6 23 188 92 右 右
## 31 91 メヒア 投手 1997 3 3 193 104 右 右
## 32 92 マルティネス 投手 1996 10 11 193 93 右 左
## 33 93 フェリス 投手 1993 6 28 195 111 右 右
## 34 96 加藤 竜馬 投手 1999 5 13 185 100 右 左右
## 35 35 木下 拓哉 捕手 1991 12 18 183 95 右 右
## 36 39 宇佐見 真吾 捕手 1993 6 4 181 88 右 左
## 37 43 味谷 大誠 捕手 2003 6 14 180 85 右 左
## 38 49 加藤 匠馬 捕手 1992 4 29 175 83 右 右
## 39 57 山浅 龍之介 捕手 2004 4 21 175 82 右 左
## 40 58 石橋 康太 捕手 2000 12 7 181 94 右 右
## 41 2 田中 幹也 内野手 2000 11 28 166 68 右 右
## 42 3 高橋 周平 内野手 1994 1 18 180 90 右 左
## 43 5 村松 開人 内野手 2001 1 6 171 80 右 左
## 44 6 中田 翔 内野手 1989 4 22 184 107 右 右
## 45 9 中島 宏之 内野手 1982 7 31 180 90 右 右
## 46 25 石川 昂弥 内野手 2001 6 22 186 100 右 右
## 47 27 津田 啓史 内野手 2002 11 23 181 88 右 右
## 48 29 辻本 倫太郎 内野手 2001 8 11 168 73 右 右
## 49 32 石垣 雅海 内野手 1998 9 21 181 88 右 右
## 50 45 龍空 内野手 2002 12 30 180 77 右 左
## 51 60 山本 泰寛 内野手 1993 10 10 176 76 右 右
## 52 66 ビシエド 内野手 1989 3 10 185 108 右 右
## 53 68 福永 裕基 内野手 1996 9 16 180 85 右 右
## 54 95 ロドリゲス 内野手 2002 3 31 184 74 右 右
## 55 97 樋口 正修 内野手 1998 11 17 177 75 右 左
## 56 99 カリステ 内野手 1992 2 3 184 87 右 右
## 57 0 尾田 剛樹 外野手 2000 8 3 175 74 左 左
## 58 1 岡林 勇希 外野手 2002 2 22 175 75 右 左
## 59 4 鵜飼 航丞 外野手 1999 5 30 182 100 右 右
## 60 8 大島 洋平 外野手 1985 11 9 176 75 左 左
## 61 30 三好 大倫 外野手 1997 9 28 179 83 左 左
## 62 37 濱 将乃介 外野手 2000 5 3 181 81 右 左
## 63 42 ブライト 健太 外野手 1999 5 7 184 88 右 右
## 64 44 川越 誠司 外野手 1993 6 30 174 80 左 左
## 65 51 上林 誠知 外野手 1995 8 1 185 90 右 左
## 66 52 加藤 翔平 外野手 1991 3 28 183 90 右 左右
## 67 53 後藤 駿太 外野手 1993 3 5 180 85 右 左
## 68 55 細川 成也 外野手 1998 8 4 179 98 右 右
## 69 63 板山 祐太郎 外野手 1994 3 27 180 88 右 左
## 70 94 ディカーソン 外野手 1990 5 26 190 104 左 左
## 71 201 竹内 龍臣 育成選手 2001 12 11 180 85 右 右
## 72 202 アルバレス 育成選手 1999 1 16 192 92 右 右
## 73 204 加藤 翼 育成選手 2002 12 14 179 80 右 右
## 74 205 垣越 建伸 育成選手 2000 4 3 185 100 左 左
## 75 208 石川 翔 育成選手 1999 12 14 180 89 右 左
## 76 210 岡田 俊哉 育成選手 1991 12 5 178 69 左 左
## 77 212 野中 天翔 育成選手 2005 2 5 180 83 左 左
## 78 213 森山 暁生 育成選手 2005 1 11 183 84 左 左
## 79 214 近藤 廉 育成選手 1998 9 22 180 87 左 左
## 80 216 菊田 翔友 育成選手 2003 9 25 182 88 右 右
## 81 215 日渡 騰輝 育成選手 2004 9 20 173 89 右 左
## 82 207 星野 真生 育成選手 2003 12 1 176 78 右 右
## 83 218 川上 理偉 育成選手 2001 3 10 178 85 右 右
## 84 209 福元 悠真 育成選手 1999 12 1 180 85 右 右
## 85 220 モニエル 育成選手 2001 4 17 190 106 右 右
データの内容以外にも、データのサイズ(行数、列数)や変数名を確認してみましょう。 選手数が85名で、変量数が10個(No., Name, Position, …, height, weight, Tou, Da)のデータであることが判る。 電子化した際のデータが全て正確に読み込まれているか確認せよ。
dim(Drag24) # データサイズの表示
## [1] 85 10
colnames(Drag24) # 変量名の表示
## [1] "No." "Name" "Position" "BoY" "BoM" "BoD"
## [7] "height" "weight" "Tou" "Da"
## 基本情報を概観してみる
str(Drag24) # データの内容を情報付きで表示(Structure)
## 'data.frame': 85 obs. of 10 variables:
## $ No. : int 7 11 12 13 14 16 17 18 19 20 ...
## $ Name : chr "根尾 昂" "小笠原 慎之介" "田島 慎二" "橋本 侑樹" ...
## $ Position: chr "投手" "投手" "投手" "投手" ...
## $ BoY : int 2000 1997 1989 1998 2001 1989 1994 1996 2002 1986 ...
## $ BoM : int 4 10 12 1 11 10 4 10 8 6 ...
## $ BoD : int 19 8 21 8 21 21 22 24 9 21 ...
## $ height : int 177 180 181 180 182 189 180 187 186 185 ...
## $ weight : int 84 93 87 75 75 90 85 95 86 85 ...
## $ Tou : chr "右" "左" "右" "左" ...
## $ Da : chr "左" "左" "右" "左" ...
これらの結果から、85名、10変量のデータである。 各変量はそれぞれ、文字型(chr)か整数型(int)かが判る。 右側には例示もされている。
そこで、今度は読み込んだデータの一部を閲覧してみよう。 その際の指定方法は3.2節や3.3節で紹介したベクトルや行列の要素位置を明示的に指定する表記方法を用いて指定する。
Drag24[1,] # 1人目だけの表示
## No. Name Position BoY BoM BoD height weight Tou Da
## 1 7 根尾 昂 投手 2000 4 19 177 84 右 左
Drag24[5,] # 5人目だけの表示
## No. Name Position BoY BoM BoD height weight Tou Da
## 5 14 草加 勝 投手 2001 11 21 182 75 右 右
Drag24[1:10,] # 先頭10人の選手を表示
## No. Name Position BoY BoM BoD height weight Tou Da
## 1 7 根尾 昂 投手 2000 4 19 177 84 右 左
## 2 11 小笠原 慎之介 投手 1997 10 8 180 93 左 左
## 3 12 田島 慎二 投手 1989 12 21 181 87 右 右
## 4 13 橋本 侑樹 投手 1998 1 8 180 75 左 左
## 5 14 草加 勝 投手 2001 11 21 182 75 右 右
## 6 16 岩嵜 翔 投手 1989 10 21 189 90 右 右
## 7 17 柳 裕也 投手 1994 4 22 180 85 右 右
## 8 18 梅津 晃大 投手 1996 10 24 187 95 右 右
## 9 19 髙橋 宏斗 投手 2002 8 9 186 86 右 右
## 10 20 涌井 秀章 投手 1986 6 21 185 85 右 右
Drag24[20:30,] # 20番目から30番目までの11人の選手を表示
## No. Name Position BoY BoM BoD height weight Tou Da
## 20 41 勝野 昌慶 投手 1997 6 12 181 89 右 右
## 21 46 梅野 雄吾 投手 1999 1 13 175 84 右 右
## 22 47 砂田 毅樹 投手 1995 7 20 180 80 左 左
## 23 48 土生 翔太 投手 2001 3 10 180 93 右 右
## 24 50 清水 達也 投手 1999 11 3 184 90 右 右
## 25 54 藤嶋 健人 投手 1998 5 8 177 85 右 右
## 26 59 齋藤 綱記 投手 1996 12 18 182 91 左 左
## 27 64 福島 章太 投手 2002 10 24 177 92 左 左
## 28 67 上田 洸太朗 投手 2002 9 6 184 91 左 左
## 29 69 松木平 優太 投手 2003 2 24 178 78 右 右
## 30 90 松山 晋也 投手 2000 6 23 188 92 右 右
Drag24[,7] # 身長を全員分表示(方法1)
## [1] 177 180 181 180 182 189 180 187 186 185 184 183 178 177 177 175 181 181 179
## [20] 181 175 180 180 184 177 182 177 184 178 188 193 193 195 185 183 181 180 175
## [39] 175 181 166 180 171 184 180 186 181 168 181 180 176 185 180 184 177 184 175
## [58] 175 182 176 179 181 184 174 185 183 180 179 180 190 180 192 179 185 180 178
## [77] 180 183 180 182 173 176 178 180 190
Drag24$height # 身長を全員分表示(方法2)
## [1] 177 180 181 180 182 189 180 187 186 185 184 183 178 177 177 175 181 181 179
## [20] 181 175 180 180 184 177 182 177 184 178 188 193 193 195 185 183 181 180 175
## [39] 175 181 166 180 171 184 180 186 181 168 181 180 176 185 180 184 177 184 175
## [58] 175 182 176 179 181 184 174 185 183 180 179 180 190 180 192 179 185 180 178
## [77] 180 183 180 182 173 176 178 180 190
初回に説明したように、RやRStudioは、Windowsのみならず、MacやLinuxでも利用可能である。 プログラム自身はそのまま流用できるが、 データファイルの「漢字コードの違い」には注意が必要である。
各OSのデフォルトの漢字コードは以下のようになっている。この違いは、データファイルをRから読み込む際に利用するread.csv()の利用時に 問題となることがある。データファイルの漢字コードを明示的に指定するには、 オプションである「fileEncoding=」を使って指定する必要がある。
●Macの場合: 想像だが「fileEncoding="utf8"」を指定しなくても読み込めるのではないか。
Drag24<-read.csv("Dragons24.csv", skip=6, header=TRUE, fileEncoding="utf8")
●Windowsの場合:
5.3節で説明したように、RがデフォルトでUTF-8コードを用いることになったので、
csvファイルを作成する際に、UTF-8コードを指定しておけば、「fileEncoding=」を
指定しなくても読み込める。しかしもし、Shift-JISコードで保存した場合は、
以下の指定で読み込めると思われる。
Drag24<-read.csv("Dragons24.csv", skip=6, header=TRUE, fileEncoding="CP932")
このように漢字コードを陽に指定する必要がある場合があることを覚えておこう。
データが準備できましたので、分析していきましょう。 まずは手始めに簡単な統計量から見ていきましょう。
summary(Drag24) # 要約統計量(一気に全部を表示)
## No. Name Position BoY
## Min. : 0.00 Length:85 Length:85 Min. :1982
## 1st Qu.: 25.00 Class :character Class :character 1st Qu.:1993
## Median : 47.00 Mode :character Mode :character Median :1998
## Mean : 71.33 Mean :1997
## 3rd Qu.: 92.00 3rd Qu.:2001
## Max. :220.00 Max. :2005
## BoM BoD height weight
## Min. : 1.0 Min. : 1.00 Min. :166.0 Min. : 68.00
## 1st Qu.: 4.0 1st Qu.: 8.00 1st Qu.:178.0 1st Qu.: 82.00
## Median : 6.0 Median :15.00 Median :180.0 Median : 86.00
## Mean : 6.8 Mean :15.41 Mean :180.8 Mean : 87.05
## 3rd Qu.:10.0 3rd Qu.:22.00 3rd Qu.:184.0 3rd Qu.: 92.00
## Max. :12.0 Max. :31.00 Max. :195.0 Max. :111.00
## Tou Da
## Length:85 Length:85
## Class :character Class :character
## Mode :character Mode :character
##
##
##
summary(Drag24$height) # 要約統計量(指定した変量だけを表示)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 166.0 178.0 180.0 180.8 184.0 195.0
mean(Drag24$height) # 平均値
## [1] 180.8353
sd(Drag24$height) # 標準偏差
## [1] 5.105662
table(Drag24$Tou) # 頻度表(投球腕)
##
## 右 左
## 64 21
table(Drag24$Da) # 頻度表(打席)
##
## 右 左 左右
## 45 38 2
table(Drag24$Tou, Drag24$Da) # 頻度表(2次元)
##
## 右 左 左右
## 右 45 17 2
## 左 0 21 0
table(Drag24$height)
##
## 166 168 171 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
## 1 1 1 1 1 6 3 6 4 4 17 9 4 4 7 5 2 1 1 1
## 190 192 193 195
## 2 1 2 1
[答え] 連続変量の個々の値の頻度が表示される。 これは我々が求めている結果であろうか? もし、ある区切り幅の中に 含まれる人数を頻度として調べたいのであれば、 区切り幅を指定する必要がある。以下では165cmから5cm刻みで 195cmまでの各区間に含まれる頻度を表示している。
category_height<-cut(Drag24$height,
breaks=seq(165,195,5), right=FALSE)
table(category_height)
## category_height
## [165,170) [170,175) [175,180) [180,185) [185,190) [190,195)
## 2 3 23 41 10 5
区間の左側が閉区間、右側が開区間になっているのが、 カッコの違いで理解できる。 デフォルトでは右側が閉区間になってしまうので、 「right=FALSE」を指定して、右側を開区間とすることを指定している。
stem(Drag24$height) # 樹葉図(Stem and Leaf)
##
## The decimal point is 1 digit(s) to the right of the |
##
## 16 | 68
## 17 | 134
## 17 | 55555566677777788889999
## 18 | 00000000000000000111111111222233334444444
## 18 | 5555566789
## 19 | 00233
## 19 | 5
樹葉図は電車の時刻表のような表示形式である。 一の位の内容が目視できて便利に感じる。
ヒストグラムを描いてみる。
hist(Drag24$height) # ヒストグラム
ヒストグラムを描く際に、何もオプションを指定していないと、 開始点や区間幅等はRが決めた値で描いてくれる。 しかし、Rはデフォルトで区間が<超える、以下>となっており、 日本で通常見られる<以上、未満>となっていない。 そこで、<以上、未満>となるように指定するために「right=FALSE」を指定しておく。 意味は右端を「未満」(開区間)にすることを指定している。
hist(Drag24$height, right=FALSE) # ヒストグラム(右端が開区間)
もし、好みの開始点や区間幅にしたいのであれば、 こちらから陽に指定することもできる。 加えて、読み易さの観点から、点線を追記してある。 lty(点線, Line Typeか)にはいくつか種類があり、 補助線の場合は3番が適当ではないかと思っている(私見)。
hist(Drag24$height, breaks = seq(160,200,10),
ylim=c(0,50), right=FALSE) # 区切りを指定
abline(h=seq(0,50,10), lty=3) # 点線を追記
なお、点線の種類を試す際、より密度の濃い線を描画した後に、種類の異なる種類の点線を描画しても「上書き」となるため、点線の種類が判読できないことが起こる。よって、毎回ヒストグラムから描画し始める必要がある。
他にも分布形状を把握するのに便利な手法として箱ひげ図もある。
boxplot(Drag24$height) # 縦方向に箱ひげ図
横方向に伸びる箱ひげ図を表示したい場合は、「horizontal=TRUE」を指定する。なお、「TRUE」は真理値の「真」であり、デフォルトでは偽(FALSE)となっているため陽に指定する必要がある。また、それぞれは「T」、「F」と短縮して指定してもかまわない。
boxplot(Drag24$height, horizontal=TRUE) # 横方向に箱ひげ図
abline(v=seq(170,195,5), lty=3) # 点線を追記
plot(Drag24$height,Drag24$weight) # 散布図
abline(v=seq(160,200,5),lty=3) # 点線を追記
abline(h=seq(70,100,10),lty=3) # 点線を追記
cor(Drag24$height, Drag24$weight) # 相関係数
## [1] 0.6942279
setwd("D:/home_sub3/R_Dir") # ホームディレクトリに移動(Set Working Directory)
ここまでSourceペインに入力してきた式は全体としてプログラムと呼ばれる。 いろいろな処理を手順を追って実行する命令群とも言える。 1行ずつ、もしくは複数行をまとめて実行することができることは 既に紹介した。 苦労して作成したものなので、保存しておこう。
RStudio画面の左上にある[File]-[Save] もしくは[Save As]と進んで 自分の希望の場所(ディレクトリ)に希望の名称(ファイル名)で保存せよ。 なお、ファイルの属性には「.R」が自動的に付けられる。 また、保存したプログラムは[File]-[Open File]で呼び出すことができる。
このページで取り扱ったプログラムだけを抜き出して以下に列挙しておく。
## 5.5. R側から読み込もう
setwd("D:/home_sub3/R_Dir") # ホームディレクトリに移動(Set Working Directory)
getwd() # 現在のディレクトリを表示(Get Working Directory)
list.files() # ファイル名一覧
setwd("KougiDS24") # ディレクトリを移動
list.files() # ファイル名一覧
## 5.6. 読み込んだデータの表示
Drag24<-read.csv("Dragons24.csv", skip=6, header=TRUE) # CSVデータの読み込み
Drag24 # データの表示
## 5.7 データの各種属性を眺めてみよう
dim(Drag24) # データサイズの表示
colnames(Drag24) # 変量名の表示
## 基本情報を概観してみる
str(Drag24) # データの内容を情報付きで表示(Structure)
Drag24[1,] # 1人目だけの表示
Drag24[5,] # 5人目だけの表示
Drag24[1:10,] # 先頭10人の選手を表示
Drag24[20:30,] # 20番目から30番目までの11人の選手を表示
Drag24[seq(1,10),] # 先頭10人の選手を表示(別表現)
Drag24[seq(20,30),] # 20番目から30番目までの11人の選手を表示(別表現)
Drag24[,7] # 身長を全員分表示(方法1)
Drag24$height # 身長を全員分表示(方法2)
## 6.1. 基礎統計量
summary(Drag24) # 要約統計量(一気に全部を表示)
summary(Drag24$height) # 要約統計量(指定した変量だけを表示)
mean(Drag24$height) # 平均値
sd(Drag24$height) # 標準偏差
table(Drag24$Tou) # 頻度表(投球腕)
table(Drag24$Da) # 頻度表(打席)
table(Drag24$Tou, Drag24$Da) # 頻度表(2次元)
table(Drag24$height)
category_height<-cut(Drag24$height,
breaks=seq(165,195,5), right=FALSE)
table(category_height)
## 6.2. 視覚的表現: 樹葉図、ヒストグラム、箱ひげ図
stem(Drag24$height) # 樹葉図(Stem and Leaf)
hist(Drag24$height, right=FALSE) # ヒストグラム
hist(Drag24$height, breaks = seq(160,200,10),
ylim=c(0,50), right=FALSE) # 区切りを指定
abline(h=seq(0,50,10), lty=3) # 点線を追記
boxplot(Drag24$height) # 縦方向に箱ひげ図
boxplot(Drag24$height, horizontal=TRUE) # 横方向に箱ひげ図
abline(v=seq(170,190,5), lty=3) # 点線を追記
## 6.3. 2次元のデータに対しては: 散布図、相関係数
plot(Drag24$height,Drag24$weight) # 散布図
abline(v=seq(160,200,5),lty=3) # 点線を追記
abline(h=seq(70,100,10),lty=3) # 点線を追記
cor(Drag24$height,Drag24$weight) # 相関係数
setwd("D:/home_sub3/R_Dir") # ホームディレクトリに移動(Set Working Directory)