現場ですぐに使える! R言語プログラミング逆引き大全 350の極意

概 要

R言語は、ソースコードを書いたら即、実行できる「スクリプト言語」です。データマイニング向けに開発された言語であるため、データマイニングのためのデータ構造と、分析処理を高速に行う関数が用意されています。本書は、R言語のデータ構造、基本的な文法と便利なウラ技、統計分析のテクニックを全350項目にわたって解説した、やりたいことから引ける逆引きテクニック集です。統計分析の基礎から活用運用の方法までよくわかります!

著者 金城俊哉
価格 本体3200円(税別)
ISBN 978-4-7980-5362-2
発売日 2018/3/20
判型 A5
ページ数 700
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 開発環境の用意とRプログラミングの基礎

1-1 Rで開発するための開発環境の用意

001 Rとは何か

002 RStudioとは

003 Rをインストールする

004 RStudioをインストールする

005 RStudioの画面構成

1-2 Rプログラムの実行

006 RStudioを関数電卓として使う

007 Rの「ステートメント」

008 コンソールの出力結果の読み取り方

009 ソースファイルにコードを書いて実行する

010 Rプログラムを保存する

011 過去に実行したソースコードを呼び出す

1-3プロジェクト

012 プログラム開発用のフォルダーを作る

013 プログラムの保存/終了と再開

014 外部のパッケージをインストールする

第2章 データ操作の極意

2-1 ベクトルとデータ型

015 データに名前を付ける

016 データのかたちを知る

017 ベクトルの型を調べる

018 integer、doubleを指定してベクトルを初期化する

019 関数を使って明示的にベクトルを生成する

020 ベクトルのデータ型や動作モードを変更する

021 ベクトルに複数の値を代入する

022 ベクトルを破棄する

023 ベクトルの長さを調べる

024 ベクトルの要素を取り出す

025 ベクトルの要素を置き換える

026 ベクトルの要素を削除する

027 複数のベクトルを結合して1つのベクトルにまとめる

028 指定した位置に別のベクトルを挿入する

029 ベクトルの要素に名前を付ける

2-2 ベクトルの生成と操作

030 規則性のある数値を自動作成する

031 サイズを指定して等差数列を自動生成する

032 整数のパターンを繰り返す数列を生成する

033 要素を繰り返す回数を指定して数列を生成する

034 要素を繰り返すパターンを細かく指定して数列を生成する

035 ベクトルの要素をランダムに生成する

036 サンプリングの条件を指定する

037 ベクトルの特定の値の位置を見つける

038 ベクトルの中の最小値や最大値の位置を見つける

039 複数のベクトルから最小値と最大値を見つける

040 ベクトルのペアから要素ごとの最小値/最大値を見つける

041 ベクトルの負の値を0にする

042 条件に一致した要素を取り出す

043 ベクトルに含まれる欠損値NAをすべて0に置き換える

044 ベクトルのすべての要素を関数で処理する

045 ベクトルどうしで演算する

046 同じ演算を繰り返したり一括して演算する

047 ベクトルのリサイクル規則を理解する

048 ベクトル要素の合計、平均、中央値を求める

049 論理ベクトルを作成する

050 論理ベクトルを計算する

051 ベクトルのサイズを変更する

052 ベクトルの要素を昇順/降順で並び替える

053 ソートしたときの順番をインデックスで取得する

054 ベクトル要素の重複をチェックする

055 ベクトル要素の出現回数を取得する

056 重複している要素を削除する

057 もとのベクトルはそのままに要素のみを書き換える

058 数値を比較する

059 ベクトル要素が等しいかをチェックする

2-3 ファクター

060 ベクトルからファクターを生成する

061 ファクターを使って因子をグループ化する

062 水準ラベルと水準値を指定してファクターを生成する

063 数値ベクトルを区間ごとに分割する

064 区間分割する際に上限/下限のデータを正しく含める

2-4 ベクトルの行列/配列への変換

065 ベクトルを行列にする

066 ベクトルを多次元配列にする

2-5 文字列ベクトル

067 数値を文字列に変換する

068 数値を書式指定して文字列に変換する

069 数値を表示するときの表示幅を調べる

070 数値の表示桁数を指定する

071 文字列ベクトルを生成する

072 引用符を含む文字列をベクトル要素にする

073 A~Zやa~zのアルファベット、英月名を自動生成する

074 規則的な文字列を自動生成する

075 stringrパッケージのstr_c()関数で連結文字列を生成する

076 文字列の文字数をカウントする

077 空の文字列をチェックする

078 指定した範囲の文字を抽出する

079 指定した範囲の文字を置き換える

080 文字列の特定の部分をカットする

081 指定した文字が出現するところで文字列を分割する

082 特定の文字を検索して置き換える

083 文字列の中から前後のアルファベットを置き換える

084 文字列の中から前後の数字を置き換える

085 パターンに一致したら要素ごと取り出す

086 文字列の中から前後の数字、またはアルファベットだけを抽出する

087 パターンにマッチする文字列の有無を調べる

088 正規表現のパターンを作る

2-6 リスト

089 リストを使って住所録を作る

090 リストの要素を取り出す

091 リスト要素のベクトルやリストの中から要素を取り出す

092 リストの要素をリストに加工して取り出す

093 リストをベクトルに変換する

094 リストの要素を変更する

095 リストの要素を削除する

096 リストからNULL要素を削除する

097 リスト要素を「名前=値」のペアで管理する

098 既存のリスト要素に名前をつける

2-7 行列

099 行列(matrix)を作成する

100 ベクトル要素を行列の横方向に並べる

101 行列をベクトルにする

102 行列のサイズ(行数、列数)を調べる

103 複数のベクトルを列単位で連結して行列を作る

104 複数のベクトルを行単位で連結して行列を作る

105 ゼロ行列を作る

106 コンソールから行列の成分を入力する

107 行列の行名/列名を設定する

108 行列の要素を取り出す

109 行列の成分を行列として取り出す

110 行列から列単位で抽出する

111 行列の列/行の合計を求める

112 列の成分や行の成分の平均を求める

113 行列のキホンを知る

114 対角線上に並んだ成分を取り出す

115 対角行列を作る

116 行列どうしを足し算/引き算する

117 行列の定数倍

118 行列どうしで掛け算する

119 単位行列を作る

120 ゼロ行列と単位行列の積の法則

121 行列の行と列を入れ替える

122 行列の割り算

123 固有値・固有ベクトルを求める

124 配列を作成する

125 名前付きの配列を作成する

126 配列要素の取り出し

127 抽出した要素を置き換える

128 条件に一致する要素を取り出す

129 条件に一致する要素を置き換える

130 配列の次元ごとに計算する

131 多次元配列を2次元配列に統合する

132 配列を転置する

133 データフレームとは

134 列データでデータフレームを作成する

135 列データで名前付きデータフレームを作成する

136 行データでデータフレームを作成する

137 行データで格納したリストを使ってデータフレームを作成する

138 データフレームの1列を位置を使って取り出す

139 データフレームの複数の列を位置を使って取り出す

140 データフレームの列を位置を使って除外する

141 データフレームの1列を名前を使って取り出す

142 データフレームの複数の列を名前を使って取り出す

143 データフレームの列を名前で除外する

144 データフレームの行を位置を使って取り出す

145 データフレーム行を位置を使って除外する

146 データフレームの行列や行名を設定/変更する

147 データフレームの特定の範囲を位置を指定して取り出す

148 条件を指定してデータフレームの列を取り出す

149 エディターを使ってデータフレームを編集する

150 データフレームから欠損値NAを取り除く

151 データフレームに列を追加する

152 データフレームに行を追加する

153 2つのデータフレームを行方向で結合する

154 2つのデータフレームを行方向で結合する

155 共通の列でデータフレームをマージする

156 異なる列に登録されている内容でマージする

157 データフレームの列を加工する

158 データフレームの列ごとの合計を求める

159 データフレームの行ごとの合計を求める

160 データフレームの列ごとの関数を適用する

161 データフレームの行ごとに関数を適用する

162 データフレームをソートする

163 縦長のデータフレームを横長に変換する

164 データフレームの列を水準ごとに分解または統合する

165 データフレームを条件式を使って分割する

2-8 データ変換

166 ベクトルの値を別のデータ型に変換する

167 構造化されたデータ型を別の構造化データに変換する

2-9 日付

168 現在の日付を取得する

169 日付データを文字列に変換する

170 文字列を日付データに変換する

171 連続した日付データを作る

第3章 ファイル操作の極意

3-1 テキストファイルの操作

172 テキストファイルのタブ区切りデータを表示する

173 CSVファイルのデータを表示する

174 ビューの文字化けを解消する

175 タブ区切りのテキストファイルをデータフレームに読み込む

176 テキストデータの列名をデータフレームの列名にする

177 タブ区切りのデータファイルをもっと簡単に読み込む

178 CSV形式のファイルをデータフレームに読み込む

179 CSV形式のファイルをもっと簡単に読み込む

180 タブ区切りファイルをカンマ区切りのCSVファイルに書き込む

3-2 Excelデータの読み込み

181 Excelのデータをクリップボード経由で読み込む

182 Excelファイルを直接、読み込む

第4章 基本プログラミングの極意

4-1 プログラムの制御

183 「もしも」で処理を分ける

184 負の値が出現したら正の値に置き換える

185 「そうでなければ」を実行するelseステートメント

186 すべての条件が不成立のときの受け皿になる処理をする

187 同じ処理をぐるぐる繰り返す

188 「ファイルからデータフレームに読み込み」→「ベクトルに代入」を自動化する

189 ループを中断/終了する

190 引数の並びを順番に渡して関数を実行する

191 データフレーム名を繰り返し取得して1つに結合する

192 関数の引数に関数を指定してベクトルの要素どうしを計算する

193 関数の引数に関数を指定して「畳込み」の計算を行う

4-2 関数の作成

194 関数の3つのタイプと作り方のキホン

195 処理だけを行う関数を定義する

196 引数を受け取る関数を定義する

197 戻り値を返す関数を定義する

198 作成した関数を別のプログラムで実行できるようにする

199 関数のパラメーターにデフォルトの値を設定する

200 引数が渡されなかった場合にエラーメッセージを表示する

201 エラーを捉えて後処理までを行う

202 エラーが発生してもプログラムを止めないようにする

第5章 基本記述統計

5-1 記述統計量

203 データの平均を求める

204 「外れ値」を除いて平均を求める

205 率の平均を求める

206 往路/復路の平均を求める

207 異なる母数を持つ平均値の平均を求める

208 異なる母数の複数の平均値から平均を求める

209 データの平均から距離「偏差」を求める

210 偏差を2乗した「偏差平方」を平均して「分散」を求める

211 不遍分散を求める

212 標準偏差を求める

5-2 順序統計量

213 最大値/最小値を求める

214 複数のデータの最大値/最小値をまとめて求める

215 データの「ど真ん中」の値を見つける

5-3 複数列の計算

216 データを要約する

217 summary()の結果をわかりやすく表示する関数を作る

218 入力データの5数要約を出力する

219 複数の列の基本統計量を求める

220 専用の関数で合計/平均を求める

221 特定の列に対してグループ別の基本統計量を求める

222 複数の列に対してグループ別の基本統計量を求める

223 複数の列をグループ別にしてデータフレーム専用関数を適用する

224 複数列でグループ化して集計する

225 グループ化して集計する際の基準列が多い場合に結果を縦に並べる

226 データフレームを丸ごとグループ化して集計する

5-4 ヒストグラム

227 度数分布表を作る

228 相対度数分布表を作る

229 カテゴリごとの度数だけを素早く求める

230 連続する値をカテゴリ化して度数分布表を作る

231 データの分布状況を棒グラフにする

232 階級幅を独自に指定してヒストグラムを作る

233 グループ別に作成したヒストグラムを1枚のPDFに出力する

234 グループ間の比較に最適な「箱ひげ図」を作成する

235 グループ間の比較をシンプルにドットで表す

第6章 正規分布

6-1 標準正規分布と一般的な正規分布

236 そのデータは「優秀」なのか「並」なのかを知る

237 平均からの離れ具合でデータの特殊性を知る

238 標準正規分布のグラフを作る

239 上位5%でしか出現し得ないデータを見つける

240 売上の平均が38万円のとき45万円以上売り上げる確率を求める

241 「偏差値」を求める

242 偏差値が70以上の人は全体の何パーセントを占めるのかを求める

243 平均60点、標準偏差10点のときの得点80の合否を判定する

244 2つのデータを合わせたときの標準偏差の意味を考える

第7章 統計的推定

7-1 点推定

245 母集団の平均と分散をピンポイントでズバリ当てる

246 大数の法則、中心極限定理を実践する

247 標本平均を限界まで取り続けてその平均で母平均を推定する

248 サンプルサイズを大きくして標準誤差を限界まで下げる

249 標本平均の分散で母集団の分散を推定する

250 不遍分散の平均で母集団の分散を推定する

7-2 区間推定

251 大標本を使って母集団の平均を幅付きで推定する

252 小標本を使って母集団の平均を幅付きで推定する

253 母集団のデータの比率を区間推定する

第8章 統計的仮説検定

8-1 χ2検定

254 χ2 検定とは

255 統計的仮説検定の手順とは

256 店舗の売上比率に差はあるかを検定する

257 クロス集計されたデータ間に差はあるかを検定する

258 分散が等しいと仮定できる場合の平均の差をt検定で確かめる

259 異なるテスターによる評価の平均に差があるかをt 検定で確かめる

260 p値を求めてt 検定を行う

261 t.test()関数で検定統計量tの実現値を求める

262 分散が等しくない場合の平均の差をt検定で確かめる

263 A店、B店の満足度に開きがあるとき、両店舗の満足度は本当に違うかを検定する

264 対応のある2群の差のt検定

265 ダイエットサプリ摂取前後の体重の変化を検定する

266 P値を求めて対応のあるt 検定を行う

267 t.test()関数で対応のあるt検定を行う

8-2 分散分析

268 なぜt 検定が3群以上の差の検定に使えないのか

269 3群以上の差の検定には分散分析を使う

270 oneway.test()で1要因、対応なしの分散分析を実施する

271 aov()関数で1要因、対応なしの分散分析を実施する

272 anova()関数で1要因、対応なしの分散分析を実施する

273 分子と分母の自由度を指定してF分布のグラフを描く

274 群間、群内の平方和と平均平方から検定統計量F の期待値を求める

275 多重比較を行う

276 対応がある場合の対応ありの検定が必要な理由

277 対応がある1要因の分散分析を実施する

278 対応ありとなしで違いが出た理由とは

279 要因を2つに増やした場合の分散分析はどうなるのか

280 対応がない2要因の分散分析を実施する

281 2要因とも対応ありの分散分析を実施する

282 2要因のうち1要因のみ対応ありの分散分析を実施する

第9章 回帰分析

9-1 相関分析

283 グラフを描いてデータ間の関連性を知る

284 2つのデータの関係の強さを表す値を求める

9-2 線形単回帰分析

285 線形回帰分析を実行する

286 分析のもとデータと予測値、残差を一覧で表示する

9-3 線形重回帰分析

287 線形重回帰分析とは

288 重回帰分析にかける変量の相関を調べる

289 立地、面積、競合店とアンケート結果から売上を予測する

290 当てはまりが良好なモデルを探し出して分析する

291 説明変数を減らさずに変数の交互作用だけを減らして分析する

292 交互作用を段階的に減らしてAIC値を求める

9-4 非線形回帰分析

293 急激に上昇カーブを描く普及率を予測する

294 ロジスティック関数SSlogis()をモデル式に埋め込んで分析する

295 非線形の分布を線形の分布と同じように分析する

296 日射量、風力、温度の値でオゾンの量を説明する

297 モルモットの実験データからビタミンCの投与方法を推定する

第10章 多変量解析

10-1 クラスター分析

298 1か月の学習時間から同じ学習パターンの人をグループ分けする

299 距離の求め方を変えて最近隣法やウォード法を試してみる

300 大量のデータを的確にグループ分けする

10-2 判別分析

301 計測値から花の品種を判別する

302 判別分析の結果を詳しく見る

10-3 主成分分析

303 主成分分析

304 主成分が持つ情報量を確認する

305 主成分負荷量をプロットして変量間の関係性を見る

306 すべての主成分得点をプロットする

307 主成分負荷量と主成分得点を1つの図で表現する

308 主成分分析の考え方

309 オーディション参加者の適正を主成分分析で見極める

10-4 因子分析

310 5変量を因子分析して傾向を読み取る

311 因子軸を回転させて因子の解釈を容易にする

312 20人のテスト結果の因子得点を推定する

313 直交回転後の因子得点に因子負荷量を投影する

314 因子軸を斜交回転させる

315 斜交回転後の因子間の相関を見る

第11章 時系列分析

11-1 時系列オブジェクト

316 時系列オブジェクトを生成する

317 時系列データをプロットする

318 時系列の時間軸を戻しつつデータをプロットする

319 最新、または最古の観測値を抽出する

320 時系列オブジェクトに対する数値演算

321 階差を求める

322 時系列データの時間をずらす

323 時系列の合併と共通部分の多変量時系列への変換

324 時系列オブジェクトの情報を取得する

325 時系列オブジェクトの部分時系列を得る

326 時系列データを部分的に集約する

327 時系列データの自己共分散と自己相関係数を求める

328 時系列データのスペクトル密度関数を推定する

11-2 ARモデル

329 時系列へのARモデルの当てはめ

330 ARモデルから予測する

331 1変量の時系列データにARIMAモデルをフィットする

332 適切なモデル次数を自動で特定してARIMAモデルをフィットする

333 ARIMAモデルから予測する

第12章 グラフィックス

12-1 グラフィックスの基本

334 散布図を作成する

335 タイトルとラベルを設定する

336 グリッドを追加する

337 x軸とy軸の範囲を指定する

338 x軸とy軸の比率を指定する

339 垂直線や水平線を追加する

12-2 複数のグループの描画

340 複数グループの散布図を作成する

341 凡例を追加する

342 散布図の回帰直線をプロットする

343 すべての変量の組み合わせをプロットする

344 因子の水準に対してそれぞれの散布図を作成する

12-3 棒グラフの作成

345 棒グラフを作成する

346 棒グラフに信頼区間を表示する

12-4 ヒストグラム、正規Q-Qプロット

347 棒の数を指定してヒストグラムを作成する

348 ヒストグラムに確率密度関数の曲線を表示する

349 正規Q-Qプロットを作成する

350 多項式回帰で分析する

COLUMN

R言語

Rのベクトル

数学上の行列

行列式についての法則

data.frameクラス

ソースコード(コメント部分)の文字化け

数学定数の「ネイピア数」

母集団と標本の関係のまとめ

t値

統計量F

内挿と外挿

多重共線性

クロス集計

PR

秀和システム