エクセルデータの準備
日本の産業別実質GDPの推移のエクセルデータを用意しました。Rで読み込んでいくのは青色のセルのみ読み込んでいきます。詳しくは以前のブログ記事を参考にしてください。
スクリプトは次のとおりです。
library(readxl) # Excelファイルのパス(ご自身のファイル名と場所に書き換えてください) file_path <- "F:/ブログ用/17R/関数辞典/04 read_excel/GDP.xlsx" # read_excel関数のオプションを設定してデータフレームを読み込む df <- read_excel( path = file_path, sheet = "Sheet3", # シート名 range = "A2:I22", # 読み込む範囲 col_types = c("text", rep("numeric",8)), # 列のデータ型を指定 na = "NA", # 欠損値として扱う文字列 skip = 1, # 最初の1行をスキップ n_max = 50 # 読み込む最大行数 )
dfファイルは次のとおりです。
散布図の行列の作成
散布図の行列を作成するにはpairs関数を使います。
今回の20×9のデータフレームでpairs
関数を使用して散布図の行列を作成するには、まずデータフレームから1列目(サンプル名)を除外して、変数のみを含む新しいデータフレームを作成する必要があります。以下に、そのためのRスクリプトを示します。
# サンプル名を除外した新しいデータフレームを作成 df_variables <- df[, -1]
新たに作った、df_variablesを見てみましょう。1列目(year)が無くなっているのが確認できます。
準備が整ったのでpair関数を使って散布図の行列を作成しましょう。 スクリプトは次のとおりです。
# 散布図行列の作成 pairs(df_variables)
少し時間がかかるかもしれませんが次のようなグラフが出力されます。
カスタマイズ① 変数名を折り返し表示
変数の文字が小さくて見にくいので修正しましょう。
Rのpairs
関数を使用して散布図行列を作成する際に、変数名を折り返して表示させることは少し複雑ですが、可能です。 これを実現するためには、カスタムのラベル関数を定義して、pairs
関数のlabels
引数にそれを渡す必要があります。
以下のステップでカスタムラベル関数を作成し、それをpairs
関数で使用します。
変数名を折り返すカスタム関数を定義する。
pairs
関数のlabels
引数にこの関数を適用する。
以下に例を示します。途中からだと分かりづらくなるので、エクセルファイルの読み込みのところから最後までまとめて示します。
library(readxl) # Excelファイルのパス file_path <- "F:/ブログ用/17R/関数辞典/04 read_excel/GDP.xlsx" # read_excel関数のオプションを設定してデータフレームを読み込む df <- read_excel( path = file_path, sheet = "Sheet3", # シート名 range = "A2:I22", # 読み込む範囲 col_types = c("text", rep("numeric",8)), # 列のデータ型を指定 na = "NA", # 欠損値として扱う文字列 skip = 1, # 最初の1行をスキップ n_max = 50 # 読み込む最大行数 ) # サンプル名を除外したデータフレームを作成 df_variables <- df[, -1] # 変数名を折り返すカスタム関数 wrap_label <- function(label, width = 10) { sapply(strsplit(label, " "), function(x) { paste(strwrap(unlist(x), width = width), collapse = "\n") }) } # 散布図行列の作成 pairs(df_variables, labels = wrap_label(colnames(df_variables)))
スクリプトを実行すると次のようなグラフが出来ます。
文字がだいぶ見やすくなりました。
カスタマイズ② 回帰直線と相関係数を表示
グラフの見方
上の写真のAのグラフは、x軸がinformation and communication、y軸がsteel industoryです。 Bのグラフは、x軸がsteel industryでy軸がinformation and communicationです。 結局、AとBの位置のグラフは軸の反転以外は同じグラフになります。 重複したデータを載せるのももったいないので、右上半分には相関係数を表示させるようにしましょう。その方がスペースの有効活用ができます。また、散布図の方には回帰直線を追加して表示するようにしてみたいと思います。
スクリプトを以下に示します。先ほどと同様にエクセルファイルの読み込みから最後まで通して記載します。
library(readxl) # Excelファイルのパス file_path <- "F:/ブログ用/17R/関数辞典/04 read_excel/GDP.xlsx" # read_excel関数のオプションを設定してデータフレームを読み込む df <- read_excel( path = file_path, sheet = "Sheet3", # シート名 range = "A2:I22", # 読み込む範囲 col_types = c("text", rep("numeric",8)), # 列のデータ型を指定 na = "NA", # 欠損値として扱う文字列 skip = 1, # 最初の1行をスキップ n_max = 50 # 読み込む最大行数 ) # サンプル名を除外したデータフレームを作成 df_variables <- df[, -1] # 変数名を折り返すカスタム関数 wrap_label <- function(label, width = 10) { sapply(strsplit(label, " "), function(x) { paste(strwrap(unlist(x), width = width), collapse = "\n") }) } # 相関係数を表示するカスタム関数 panel.cor <- function(x, y, digits=2, cex.cor=0.8, cex.min=0.5) { usr <- par("usr"); on.exit(par(usr)) par(usr = c(0, 1, 0, 1)) r <- cor(x, y) txt <- format(c(r, 0.123456789), digits=digits)[1] # 相関係数の絶対値に基づいてフォントサイズを調整し、最小値を設定 cex.size <- max(cex.cor + abs(r), cex.min) text(0.5, 0.5, txt, cex = cex.size) } # 散布図行列の作成 pairs(df_variables, upper.panel = panel.cor, lower.panel = panel.smooth, labels = wrap_label(colnames(df_variables)))
このスクリプトを実行すると次のようなグラフになります。
Previous
グラフのカスタマイズ
2024/4/17
R言語でのグラフ作成:X軸とY軸のスケール比の設定方法
はじめに R言語はデータ分析と可視化に非常に強力なツールです。特にグラフ作成機能は多くのデータサイエンティストや研究者に利用されています。この記事では、R言語でグラフを作成する際にX軸とY軸のスケール比を設定する方法を詳しく解説します。スケール比を調整することで、データの比率や関係性をより正確に表現することが可能になります。 グラフの基本的な作成方法 まず、R言語で基本的なグラフを作成する方法から見ていきましょう。ここでは、plot() 関数を使用してシンプルな散布図を描きます。 # サンプルデータの生成 ...
ReadMore
特殊なグラフ
2024/4/18
R言語でバイオリンプロットを作成する方法:データの分布を視覚化
はじめに バイオリンプロットは箱ひげ図の概念を拡張したもので、データの分布密度も同時に表現できるグラフです。この記事では、R言語を用いてバイオリンプロットを作成する手順を、基本から応用まで丁寧に解説します。 バイオリンプロットとは? バイオリンプロットは、データの確率密度を視覚的に表現する方法の一つで、中央値や四分位数といった統計量だけでなく、データの分布形状も示すことができます。これにより、データの全体的な傾向をより詳細に把握することが可能になります。 Rでバイオリンプロットを作成する Rでは、ggpl ...
ReadMore
グラフのカスタマイズ
2024/4/18
R言語で箱ひげ図に平均値を追加する方法
はじめに 箱ひげ図はデータの分布、特に四分位数や極値を視覚的に表現する強力なツールですが、時には平均値を表示することでデータの理解をさらに深めることができます。この記事では、R言語を使用して箱ひげ図に平均値を追加する方法を解説します。 箱ひげ図とは? 箱ひげ図(Boxplot)は、データの中央値、四分位数、外れ値を表示し、データの分布を要約するのに役立ちます。しかし、平均値もまたデータの中心傾向を理解するのに重要な指標であり、これを箱ひげ図に追加することで、さらに多角的なデータ解析が可能になります。 Rで ...
ReadMore
特殊なグラフ
2024/4/26
R言語でQQプロットを作成する方法
はじめに QQプロット(Quantile-Quantileプロット)は統計分析で非常に役立つツールです。これを使って、データセットが特定の理論分布に従っているかどうかを視覚的に評価することができます。R言語には、この種のプロットを簡単に作成できる強力なツールが用意されています。この記事では、R言語を使用してQQプロットを作成する基本的なステップを説明します。 必要なパッケージ QQプロットを描くためには、基本的にstatsパッケージが必要ですが、これはRの標準パッケージに含まれているため、特別なインストー ...
ReadMore
グラフのカスタマイズ
2024/4/17
Rでエラーバー付きのグラフを作成する方法
はじめに データの可視化において、エラーバーはデータの変動や不確実性を表現する重要な手段です。R言語を用いたグラフ作成においてエラーバーを追加する方法を学ぶことで、データの解釈をより深く行うことが可能になります。この記事では、基本的なエラーバーの追加方法から、カスタマイズする方法までを段階的に解説します。 エラーバーを含むグラフの重要性 エラーバーは、データ点のばらつきや測定の不確かさを表すのに役立ちます。科学研究や技術報告でよく見られるこの表現方法は、データの信頼性や有効性を視覚的に伝えるために不可欠で ...
ReadMore
グラフのカスタマイズ
2024/4/17
R言語でのグラフ作成:X軸とY軸のスケール比の設定方法
はじめに R言語はデータ分析と可視化に非常に強力なツールです。特にグラフ作成機能は多くのデータサイエンティストや研究者に利用されています。この記事では、R言語でグラフを作成する際にX軸とY軸のスケール比を設定する方法を詳しく解説します。スケール比を調整することで、データの比率や関係性をより正確に表現することが可能になります。 グラフの基本的な作成方法 まず、R言語で基本的なグラフを作成する方法から見ていきましょう。ここでは、plot() 関数を使用してシンプルな散布図を描きます。 # サンプルデータの生成 ...
ReadMore
特殊なグラフ
2024/4/18
R言語でバイオリンプロットを作成する方法:データの分布を視覚化
はじめに バイオリンプロットは箱ひげ図の概念を拡張したもので、データの分布密度も同時に表現できるグラフです。この記事では、R言語を用いてバイオリンプロットを作成する手順を、基本から応用まで丁寧に解説します。 バイオリンプロットとは? バイオリンプロットは、データの確率密度を視覚的に表現する方法の一つで、中央値や四分位数といった統計量だけでなく、データの分布形状も示すことができます。これにより、データの全体的な傾向をより詳細に把握することが可能になります。 Rでバイオリンプロットを作成する Rでは、ggpl ...
ReadMore
グラフのカスタマイズ
2024/4/18
R言語で箱ひげ図に平均値を追加する方法
はじめに 箱ひげ図はデータの分布、特に四分位数や極値を視覚的に表現する強力なツールですが、時には平均値を表示することでデータの理解をさらに深めることができます。この記事では、R言語を使用して箱ひげ図に平均値を追加する方法を解説します。 箱ひげ図とは? 箱ひげ図(Boxplot)は、データの中央値、四分位数、外れ値を表示し、データの分布を要約するのに役立ちます。しかし、平均値もまたデータの中心傾向を理解するのに重要な指標であり、これを箱ひげ図に追加することで、さらに多角的なデータ解析が可能になります。 Rで ...
ReadMore
特殊なグラフ
2024/4/26
R言語でQQプロットを作成する方法
はじめに QQプロット(Quantile-Quantileプロット)は統計分析で非常に役立つツールです。これを使って、データセットが特定の理論分布に従っているかどうかを視覚的に評価することができます。R言語には、この種のプロットを簡単に作成できる強力なツールが用意されています。この記事では、R言語を使用してQQプロットを作成する基本的なステップを説明します。 必要なパッケージ QQプロットを描くためには、基本的にstatsパッケージが必要ですが、これはRの標準パッケージに含まれているため、特別なインストー ...
ReadMore
グラフのカスタマイズ
2024/4/17
Rでエラーバー付きのグラフを作成する方法
はじめに データの可視化において、エラーバーはデータの変動や不確実性を表現する重要な手段です。R言語を用いたグラフ作成においてエラーバーを追加する方法を学ぶことで、データの解釈をより深く行うことが可能になります。この記事では、基本的なエラーバーの追加方法から、カスタマイズする方法までを段階的に解説します。 エラーバーを含むグラフの重要性 エラーバーは、データ点のばらつきや測定の不確かさを表すのに役立ちます。科学研究や技術報告でよく見られるこの表現方法は、データの信頼性や有効性を視覚的に伝えるために不可欠で ...
ReadMore
グラフのカスタマイズ
2024/4/17
R言語でのグラフ作成:X軸とY軸のスケール比の設定方法
はじめに R言語はデータ分析と可視化に非常に強力なツールです。特にグラフ作成機能は多くのデータサイエンティストや研究者に利用されています。この記事では、R言語でグラフを作成する際にX軸とY軸のスケール比を設定する方法を詳しく解説します。スケール比を調整することで、データの比率や関係性をより正確に表現することが可能になります。 グラフの基本的な作成方法 まず、R言語で基本的なグラフを作成する方法から見ていきましょう。ここでは、plot() 関数を使用してシンプルな散布図を描きます。 # サンプルデータの生成 ...
ReadMore
特殊なグラフ
2024/4/18
R言語でバイオリンプロットを作成する方法:データの分布を視覚化
はじめに バイオリンプロットは箱ひげ図の概念を拡張したもので、データの分布密度も同時に表現できるグラフです。この記事では、R言語を用いてバイオリンプロットを作成する手順を、基本から応用まで丁寧に解説します。 バイオリンプロットとは? バイオリンプロットは、データの確率密度を視覚的に表現する方法の一つで、中央値や四分位数といった統計量だけでなく、データの分布形状も示すことができます。これにより、データの全体的な傾向をより詳細に把握することが可能になります。 Rでバイオリンプロットを作成する Rでは、ggpl ...
ReadMore
グラフのカスタマイズ
2024/4/18
R言語で箱ひげ図に平均値を追加する方法
はじめに 箱ひげ図はデータの分布、特に四分位数や極値を視覚的に表現する強力なツールですが、時には平均値を表示することでデータの理解をさらに深めることができます。この記事では、R言語を使用して箱ひげ図に平均値を追加する方法を解説します。 箱ひげ図とは? 箱ひげ図(Boxplot)は、データの中央値、四分位数、外れ値を表示し、データの分布を要約するのに役立ちます。しかし、平均値もまたデータの中心傾向を理解するのに重要な指標であり、これを箱ひげ図に追加することで、さらに多角的なデータ解析が可能になります。 Rで ...
ReadMore
Next
Previous
統計学基礎
2025/2/26
ベイズ統計学とは?事前確率と事後確率を用いた推論の基礎からRでの実装まで徹底解説!
統計学において、「新しい情報を得たときに、既存の知識をどのように更新するか?」という問題は非常に重要です。その問題に答えるのがベイズ統計学 です。 ベイズ統計学(Bayesian Statistics) は、事前確率(prior probability)と新しいデータの尤度(likelihood)を組み合わせ、事後確率(posterior probability)を求めることで推論を行います。 例えば、以下のようなケースで活用されています。 医療診断:「ある検査で陽性が出た場合、本当に病 ...
ReadMore
統計学
2025/2/26
統計学の歴史③:古代から現代まで、データ分析の進化と発展の軌跡
3. 現代統計学の発展と未来 3-1 コンピュータ革命と統計学 20世紀後半に始まったコンピュータ革命は、統計学の理論と実践に革命的な変化をもたらしました。計算能力の飛躍的向上により、それまで理論上は可能でも実行が困難だった複雑な統計的手法が実用化され、統計学の適用範囲と可能性は大きく拡大しました。 1940年代後半から50年代にかけて開発された初期のコンピュータは、主に軍事目的や科学計算のために使用されていましたが、すぐに統計的計算にも応用されるようになりました。1960年代になると、統計解析専用のソフ ...
ReadMore
統計学
2025/2/26
統計学の歴史②:古代から現代まで、データ分析の進化と発展の軌跡
2. 19世紀~20世紀前半:統計学の黄金期 2-1 統計学の学問的確立 19世紀後半から20世紀初頭にかけて、統計学は独立した学問分野として確立されていきました。この時期、統計学は記述的な段階から分析的・推測的な段階へと発展し、その理論的基盤が大きく強化されました。 この時代の統計学発展の中心となったのが、イギリスの優生学者・統計学者カール・ピアソンです。ゴルトンの研究を引き継いだピアソンは、1901年に「統計的研究のための数学的貢献」を発表し、その中で相関係数(ピアソンの積率相関係数)を定式化しました ...
ReadMore
統計学基礎
2025/2/27
回帰分析
2025/2/26
偏回帰分析とは?基本概念から解釈、Rによる実装まで徹底解説!
統計分析において、「ある説明変数が目的変数に与える影響を評価したい」と考えることはよくあります。しかし、多くのデータには 複数の説明変数が同時に影響を及ぼしている ため、単純な単回帰分析では正しい評価ができないことがあります。 そこで活用されるのが 偏回帰分析(Partial Regression Analysis) です。 偏回帰分析の主な目的 特定の変数が目的変数に与える影響を、他の変数の影響を除外した上で評価する 多変量データの中で、各説明変数の相対的な寄与度を明確にする 重回帰分 ...
ReadMore
統計学基礎
2025/2/26
ベイズ統計学とは?事前確率と事後確率を用いた推論の基礎からRでの実装まで徹底解説!
統計学において、「新しい情報を得たときに、既存の知識をどのように更新するか?」という問題は非常に重要です。その問題に答えるのがベイズ統計学 です。 ベイズ統計学(Bayesian Statistics) は、事前確率(prior probability)と新しいデータの尤度(likelihood)を組み合わせ、事後確率(posterior probability)を求めることで推論を行います。 例えば、以下のようなケースで活用されています。 医療診断:「ある検査で陽性が出た場合、本当に病 ...
ReadMore
統計学
2025/2/26
統計学の歴史③:古代から現代まで、データ分析の進化と発展の軌跡
3. 現代統計学の発展と未来 3-1 コンピュータ革命と統計学 20世紀後半に始まったコンピュータ革命は、統計学の理論と実践に革命的な変化をもたらしました。計算能力の飛躍的向上により、それまで理論上は可能でも実行が困難だった複雑な統計的手法が実用化され、統計学の適用範囲と可能性は大きく拡大しました。 1940年代後半から50年代にかけて開発された初期のコンピュータは、主に軍事目的や科学計算のために使用されていましたが、すぐに統計的計算にも応用されるようになりました。1960年代になると、統計解析専用のソフ ...
ReadMore
統計学
2025/2/26
統計学の歴史②:古代から現代まで、データ分析の進化と発展の軌跡
2. 19世紀~20世紀前半:統計学の黄金期 2-1 統計学の学問的確立 19世紀後半から20世紀初頭にかけて、統計学は独立した学問分野として確立されていきました。この時期、統計学は記述的な段階から分析的・推測的な段階へと発展し、その理論的基盤が大きく強化されました。 この時代の統計学発展の中心となったのが、イギリスの優生学者・統計学者カール・ピアソンです。ゴルトンの研究を引き継いだピアソンは、1901年に「統計的研究のための数学的貢献」を発表し、その中で相関係数(ピアソンの積率相関係数)を定式化しました ...
ReadMore
統計学基礎
2025/2/27
回帰分析
2025/2/26
偏回帰分析とは?基本概念から解釈、Rによる実装まで徹底解説!
統計分析において、「ある説明変数が目的変数に与える影響を評価したい」と考えることはよくあります。しかし、多くのデータには 複数の説明変数が同時に影響を及ぼしている ため、単純な単回帰分析では正しい評価ができないことがあります。 そこで活用されるのが 偏回帰分析(Partial Regression Analysis) です。 偏回帰分析の主な目的 特定の変数が目的変数に与える影響を、他の変数の影響を除外した上で評価する 多変量データの中で、各説明変数の相対的な寄与度を明確にする 重回帰分 ...
ReadMore
統計学基礎
2025/2/26
ベイズ統計学とは?事前確率と事後確率を用いた推論の基礎からRでの実装まで徹底解説!
統計学において、「新しい情報を得たときに、既存の知識をどのように更新するか?」という問題は非常に重要です。その問題に答えるのがベイズ統計学 です。 ベイズ統計学(Bayesian Statistics) は、事前確率(prior probability)と新しいデータの尤度(likelihood)を組み合わせ、事後確率(posterior probability)を求めることで推論を行います。 例えば、以下のようなケースで活用されています。 医療診断:「ある検査で陽性が出た場合、本当に病 ...
ReadMore
統計学
2025/2/26
統計学の歴史③:古代から現代まで、データ分析の進化と発展の軌跡
3. 現代統計学の発展と未来 3-1 コンピュータ革命と統計学 20世紀後半に始まったコンピュータ革命は、統計学の理論と実践に革命的な変化をもたらしました。計算能力の飛躍的向上により、それまで理論上は可能でも実行が困難だった複雑な統計的手法が実用化され、統計学の適用範囲と可能性は大きく拡大しました。 1940年代後半から50年代にかけて開発された初期のコンピュータは、主に軍事目的や科学計算のために使用されていましたが、すぐに統計的計算にも応用されるようになりました。1960年代になると、統計解析専用のソフ ...
ReadMore
統計学
2025/2/26
統計学の歴史②:古代から現代まで、データ分析の進化と発展の軌跡
2. 19世紀~20世紀前半:統計学の黄金期 2-1 統計学の学問的確立 19世紀後半から20世紀初頭にかけて、統計学は独立した学問分野として確立されていきました。この時期、統計学は記述的な段階から分析的・推測的な段階へと発展し、その理論的基盤が大きく強化されました。 この時代の統計学発展の中心となったのが、イギリスの優生学者・統計学者カール・ピアソンです。ゴルトンの研究を引き継いだピアソンは、1901年に「統計的研究のための数学的貢献」を発表し、その中で相関係数(ピアソンの積率相関係数)を定式化しました ...
ReadMore
Next