Rで解析:コンソールで表を表示「tabstats」パッケージの紹介
データの概要や基本統計量をコンソール上で表示するのに便利なパッケージの紹介です。出力位置や文字色などの変更が可能なだけでなく、標準出力にはない見やすい表の出力が可能です。
パッケージバージョンは0.2.1。Windows 11 x64 (build 26200)のR version 4.6.1で確認しています。
<おすすめのRに関する書籍です>
サラっとできる!フリー統計ソフトEZR(Easy R)でカンタン統計解析 | 神田 善伸
Amazonで神田 善伸のサラっとできる!フリー統計ソフトEZR(Easy R)でカンタン統計解析
パッケージのインストール
下記コマンドを実行してください。
# パッケージのインストール
install.packages("tabstats")
# パッケージの読み込み
library("tabstats")スポンサーリンク
コマンド例
詳細はコメント、パッケージのヘルプを確認してください。
データフレームをコンソールに表示:table_summaryコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| data | 二列のデータフレーム | |
| title | 表題を指定する文字列 | NULL |
| l | 行数を指定する整数 | NULL |
| header | ヘッダー表示の有無を指定する論理値 | FALSE |
| center_table | 表の中心揃えを指定する論理値 | FALSE |
| border_char | 境界線に使用する文字 | “-“ |
| style | 表要素のスタイリングを制御するANSI形式のリスト | list() |
| align | 列値の揃え方を指定する | NULL |
# サンプルデータを作成
df <- data.frame(
Category = c("A", "B", "C", "D", "E"),
Value = c(10, 20, 30, 40, 50))
# タイトルとヘッダーを付けて表示
table_summary(df, title = "Sample Table", header = TRUE)
# 2行目で分割し、中央揃えで表示
table_summary(df, l = 2, center_table = TRUE)
# スタイルと揃え方を指定して表示
table_summary(
df, header = TRUE,
style = list(
left_col = "blue_bold",
right_col = "red",
title = "green",
border_text = "yellow"),
align = c("center", "right"))
実行結果:
> # タイトルとヘッダーを付けて表示
> table_summary(df, title = "Sample Table", header = TRUE)
Sample Table
---------------------
Category Value
---------------------
A 10
B 20
C 30
D 40
E 50
---------------------相関行列の表示仕様を定義する:new_pairwise_dataコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| var1 | ペアごとの第一変数名 | |
| var2 | ペアごとの第二変数名 | |
| … | rho・pvalなど、セル内に表示する追加の名前付き文字列ベクトル(var1・var2と同じ長さ) |
# ペアワイズ表示用の仕様オブジェクトを作成
new_pairwise_data(
var1 = c("a", "a", "b"),
var2 = c("b", "c", "c"),
rho = c("0.89", "0.79", "0.66"),
pval = c("<0.001", "<0.001", "<0.001"))実行結果:
$var1
[1] "a" "a" "b"
$var2
[1] "b" "c" "c"
$extras
$extras$rho
[1] "0.89" "0.79" "0.66"
$extras$pval
[1] "<0.001" "<0.001" "<0.001"
$pattern
[1] "lt"
$vars
[1] "a" "b" "c"
attr(,"class")
[1] "pairwise_spec"表のスタイルを指定:sm_styleコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| left_col | 左列のスタイルを指定する | NULL |
| right_col | 右列のスタイル指定 | NULL |
| border_text | 水平の境界線のスタイル | NULL |
| title | タイトルテキストのスタイル | NULL |
| sep | 列区切り文字 | NULL |
# スタイルの設定
sm_style(left_col = "blue_bold", right_col = "green", title = "bold")
# 左列と右列を指定し、区切り文字を設定
sm_style(left_col = \(x) cli::col_red(x), sep = "|")
<おすすめのRに関する書籍です>
RStudioではじめるRプログラミング入門 | ギャレット・グロ-ルマンド, 大橋真也, 長尾高弘
Amazonでギャレット・グロ-ルマンド, 大橋真也, 長尾高弘のRStudioではじめるRプログラミング入門。アマゾンならポイント還元本が多数。
クロス集計表を表示:cross_tableコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| data | 観測頻度の行列や表 | |
| percentage | 表示する割合の種類を指定(TRUE/”all”、”by_row”、”by_col”、”by_total”、FALSE/NULLのいずれか) | NULL |
| layout | レイアウトの凡例ボックスを表示するか | TRUE |
| expected | 期待頻度を表示するか | TRUE |
| layout_center | レイアウトボックスを中央に配置するか | FALSE |
| header_underline | 列ヘッダーの下線を短くするか | FALSE |
| digits | 小数点以下の桁数を指定する名前付きリスト(ex・row_pct・col_pct・total_pctを指定可能) | NULL |
| center_table | 表全体をターミナルにセンターするか | FALSE |
| style | ct_style()で作成したスタイルのリストを指定 | NULL |
# 標準設定でクロス集計表を表示
cross_table(matrix(c(10, 20, 30, 40), nrow = 2))
# 全体に対する割合を表示
cross_table(matrix(c(10, 20, 30, 40), nrow = 2), percentage = "all")実行結果:
> # 標準設定でクロス集計表を表示
> cross_table(matrix(c(10, 20, 30, 40), nrow = 2))
┌──────────────────────────────────┐
| Layout for Cont. Table |
├──────────────────────────────────┤
| < Freq > (< Expected Value >) |
└──────────────────────────────────┘
Cross Tabulation: x by y
─────────────────────────────────────
y
─────────────────────────────────────
x Col1 Col2 TOTAL
─────────────────────────────────────
Row1 10 (12) 30 (28) 40
Row2 20 (18) 40 (42) 60
─────────────────────────────────────
TOTAL 30 70 100
─────────────────────────────────────
> # 全体に対する割合を表示
> cross_table(matrix(c(10, 20, 30, 40), nrow = 2), percentage = "all")
┌──────────────────────────────────┐
| Layout for Cont. Table |
├──────────────────────────────────┤
| < Freq > (< Expected Value >) |
| < % by total row > |
| < % by total column > |
| < % by grand total > |
└──────────────────────────────────┘
Cross Tabulation: x by y
─────────────────────────────────────
y
─────────────────────────────────────
x Col1 Col2 TOTAL
─────────────────────────────────────
Row1 10 (12) 30 (28) 40
25% 75% 40%
33% 43%
10% 30%
Row2 20 (18) 40 (42) 60
33% 67% 60%
67% 57%
20% 40%
─────────────────────────────────────
TOTAL 30 70 100
30% 70%
─────────────────────────────────────
クロス集計表のスタイルを指定する:ct_styleコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| observed | 観測頻度のセルスタイル | NULL |
| expected | 期待頻度の値スタイル | NULL |
| row_percentage | 行パーセントの値スタイル | NULL |
| col_percentage | 列の割合値の形式 | NULL |
| total_percentage | 総計の割合値の形式 | NULL |
| total | 合計行・列のセル | NULL |
| title | 表のタイトル | NULL |
| border_text | 水平の境界線のスタイル | NULL |
# cross_tableコマンドのstyleオプションに各要素の色とタイトルのスタイルを指定
# 標準設定でクロス集計表を表示
cross_table(matrix(c(10, 20, 30, 40), nrow = 2),
style = ct_style(observed = "blue", expected = "yellow", title = "bold"))ペアワイズ行列をコンソールに表示する:pairwise_matrixコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| display | 対称行列かpairwise_specオブジェクトを指定 | |
| title | 表上部に表示するラベル。自動検出可能 | NULL |
| name | レイアウトレジェンドボックスヘッダー用の短い名前 | “Pairwise Matrix” |
| diag_1 | 対角線セルは常に「1」を表示するか | TRUE |
| digits | 小数点以下の桁数 | 3 |
| layout_view | 表上にレイアウトレジェンドボックスを表示するか | FALSE |
| layout_center | 画面中央に配置するか | FALSE |
| center_table | ターミナルで表を中央に配置するか | FALSE |
| border_char | 区切り文字 | getOption(“tab_default”)$border_char |
| style | スタイルのリスト | list() |
# 通常の相関行列から表示
pairwise_matrix(cor(mtcars[, 1:4]), title = "Pearson Correlation Matrix")
# ペアワイズ仕様オブジェクトを作成
spec <- new_pairwise_data(
var1 = c("a", "a", "b"),
var2 = c("b", "c", "c"),
rho = c("0.89", "0.79", "0.66"),
pval = c("<0.001", "<0.001", "<0.001"))
# レイアウトの凡例ボックスを表示して出力
pairwise_matrix(spec, title = "Pearson Correlation Matrix", layout_view = TRUE)実行結果:
> # 通常の相関行列から表示
> pairwise_matrix(cor(mtcars[, 1:4]), title = "Pearson Correlation Matrix")
Pearson Correlation Matrix
────────────────────────────────────────────────
Variable mpg cyl disp hp
────────────────────────────────────────────────
mpg 1 -0.852 -0.848 -0.776
────────────────────────────────────────────────
cyl -0.852 1 0.902 0.832
────────────────────────────────────────────────
disp -0.848 0.902 1 0.791
────────────────────────────────────────────────
hp -0.776 0.832 0.791 1
────────────────────────────────────────────────
<おすすめのRに関する書籍です>
R言語ではじめるプログラミングとデータ分析 | 馬場 真哉
Amazonで馬場 真哉のR言語ではじめるプログラミングとデータ分析。アマゾンならポイント還元本が多数。馬場 真哉作品ほか、お急ぎ便対象商品は当日お届けも可能。
この記事が誰かの役に立ちますように。
スポンサーリンク