LoginSignup
49
61

More than 1 year has passed since last update.

R初学者のためのtidyverse100本ノック

Last updated at Posted at 2023-03-25

はじめに

データ分析の書籍を読んでいるとRで書かれていて解読に困ったことはありませんか。
本コンテンツでは、多くの書籍で使われているtidyverseやggplot2を主に取り扱っています。

このtidyverseやggplot2は、データを加工・可視化する際に処理を順番に記載する直感的な記述法であり、データ分析の非常に強力な手助けになることでしょう。

なお、このコンテンツはPython初学者のためのPandas100本ノックの作成者であるクニえもんさんの承諾の元、似た形式で作成しております。pythonでのデータ分析に興味のある方はこちらも是非ご覧になってください。

tidyverse100本ノックの概要

・Rファイルに記載された、tidyverseやggplot2に関する設問100問を解いていきます
・「問題のみ版」「問題+解答・解説版」の2種類を用意しています。

問題内容

No. 分類 テーマ
1 基礎 csvファイルの読み込み
2 基礎 xlsxファイルの読み込み
3 基礎 dfのコピー
4 基礎 dfの確認
5 基礎 基本データ型/データ構造型の確認
6 基礎 データ構造型の確認
7 基礎 データ型の変換
8 基礎 dfサイズの確認
9 基礎 カラム名の一覧表示
10 基礎 ベクトルから不要な要素の削除
11 基礎 変数の一括削除
12 基礎 関数の詳細確認
13 基礎 関数を定義する
14 基礎 data.frameの生成
15 基礎 ショートカット
16 抽出 列の抽出
17 抽出 列の抽出(*selectは使わない)
18 抽出 指定列以外の抽出
19 抽出 複数列の抽出
20 抽出 条件を満たすデータの抽出
21 抽出 条件を満たさないデータの抽出
22 抽出 複数条件をいずれも満たすデータの抽出
23 抽出 複数条件のいずれかを満たすデータの抽出
24 抽出 複数条件のいずれも満たさないデータの抽出
25 抽出 特定のカラムに任意の文字列が含まれるデータの抽出
26 抽出 カラム名に任意の文字列が含まれるデータの抽出(ヘルパ関数)
27 抽出 特定の文字列が含まれるデータの抽出
28 抽出 上位n・下位nの抽出
29 抽出 特定のデータ型の列の抽出
30 加工 不要列の削除(selectを用いた削除)
31 加工 不要列の削除(NULLを用いた削除)
32 加工 dfの要素の上書き
33 加工 カラムの追加
34 加工 任意列の値を条件とした新カラムの追加
35 加工 任意の列の値を置換する
36 加工 場合分けした値の置換
37 加工 丸め表示
38 加工 カラム名の変更
39 加工 並び替え
40 加工 転置
41 重複処理 ユニークな要素の確認
42 重複処理 ユニークな要素数の確認
43 重複処理 カラム別のユニークな要素数の確認
44 重複処理 ユニークな要素とその出現回数の確認
45 重複処理 重複の削除
46 欠損値処理 NAの個数の確認 {base機能}
47 欠損値処理 NAの個数の確認 {library(skim)}
48 欠損値処理 NAに置換する
49 欠損値処理 欠損値の補完(文字列)
50 欠損値処理 欠損値の補完(数値) - グループ平均値代入法
51 欠損値処理 欠損値の補完(直前の値を採用) - LOCF法
52 欠損値処理 欠損値を含むデータの削除 - リストワイズ法
53 文字列の操作 大文字に変換
54 文字列の操作 文字列の置換
55 文字列の操作 文字列の一部削除
56 文字列の操作 文字列の結合
57 マージと連結 左結合
58 マージと連結 内部結合
59 マージと連結 下に結合
60 マージと連結 右に結合
61 ラベリング ラベルエンコーディング
62 ラベリング One-hotエンコーディング
63 ラベリング 正規化
64 ラベリング min-MAXスケーリング(0-1)
65 集計・統計 要約統計量の確認
66 集計・統計 要約統計量の確認 ※library(skim)を使用
67 集計・統計 group_by(合計)
68 集計・統計 平均値
69 集計・統計 中央値
70 集計・統計 最大値、最小値
71 集計・統計 標準偏差、分散
72 集計・統計 相関係数
73 集計・統計 パーセンタイル
74 集計・統計 要素別の頻度カウント
75 集計・統計 最頻値
76 集計・統計 データの縦持ち(tidy)⇒横持ち
77 集計・統計 tidy data形式への変換(横持ち⇒縦持ち)
78 集計・統計 window関数- row_number
79 集計・統計 window関数- lag
80 可視化 ヒストグラム
81 可視化 密度推定曲線
82 可視化 複数のヒストグラム
83 可視化 棒グラフ
84 可視化 棒グラフの並列表示
85 可視化 積み上げ棒グラフ(対 集計済データ)
86 可視化 横棒グラフ
87 可視化 横棒グラフ
88 可視化 散布図の一括表示
89 可視化 散布図
90 可視化 ヴァイオリンプロット
91 可視化 棒グラフ+散布図
92 可視化 散布図のラベリング
93 可視化 装飾
94 可視化 相関ヒートマップ
95 可視化 箱ひげ図
96 可視化 補助線の追加
97 可視化 回帰直線の追加(特定の範囲の切り出し)
98 可視化 回帰直線の追加(特定の範囲の拡大表示)
99 可視化 複数の回帰直線を追加
100 可視化 ファセット機能

設問と解答の一覧はこちら

利用方法

RStudioをまだインストールしていない方は、以下の記事を参考に、まずRStudioを自身のPCにインストールして下さい。

windowsの方 - RStudioのインストール
Macの方 - MacにRとR Studioをインストール

ディレクトリ構成

tidyverse100.R
 ├ 「問題」「問題+解答・解説」のRファイルが格納
 └ input/ … 問題で使用するデータセットが格納

※ZIPファイルから展開した後に、このディレクトリ構成は変えないで下さい(上手く動作しなくなります)。
※フォルダ名に日本語が含まれる場合、RStudioが起動しない場合があります。
 詳しくはこちらの記事を参考ください。

ダウンロード

コンテンツはGitHubよりダウンロードできます。

その他

・個人・法人を問わず誰でも使用可能です。
・本コンテンツの再配布・改編はご遠慮ください。
・本コンテンツの内容に関して、予告なく変更・削除等が行われることがあります。
・本コンテンツに関するご意見、ご要望、誤り等ございましたらツイッターまたは本記事内のコメント欄までお気軽にご連絡ください。
・データサイエンス関連のツイートもたまにしているのでよければフォローお願いします。

49
61
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
61