Rで解析:WordやPowerPointで編集可能なグラフを出力「mschart」パッケージ

WordやPowerPointで編集可能なグラフを出力できるパッケージの紹介です。棒グラフ、折れ線グラフ、散布図、面グラフの作成が可能です。グラフ内での日本語も文字化けせずに利用可能です。

パッケージバージョンは0.3.1。WordやPowerPointはOffice365。実行コマンドはwindows 11のR version 4.1.2で確認しています。

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("mschart")

実行コマンド

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("mschart")

###データ例の作成#####
n <- 30
TestData <- data.frame("ID" = rep(c("KA", "RA", "DA"), each = 3, length = n),
                          "Group" = rep_len(c("Group1", "Group2", "Group3"), n),
                          "Point" = rep(1:10, length = n),
                          "Value" = rnorm(n))
########

#作成可能な4種のグラフ:ms_XXXXコマンド
#作成したグラフはprintコマンド,preview = TRUEで表示可能
#Group分割:groupオプション:NULLで分割なし
#棒グラフ:ms_barchartコマンド
TestBar <- ms_barchart(data = TestData, x = "ID", y = "Value", group = "Group")
print(TestBar, preview = TRUE)
#NoGTestBar <- ms_barchart(data = TestData, x = "ID", y = "Value", group = NULL)
#print(NoGTestBar, preview = TRUE)
#折れ線グラフ:ms_linechartコマンド
TestLine <- ms_linechart(data = TestData, x = "Point", y = "Value", group = "Group")
print(TestLine, preview = TRUE)
#散布図:ms_scatterchartコマンド
TestScatter <- ms_scatterchart(data = TestData, x = "Point", y = "Value", group = "Group")
print(TestScatter, preview = TRUE)
#面グラフ:ms_areachartコマンド
TestAreachart <- ms_areachart(data = TestData, x = "Point", y = "Value", group = "Group")
print(TestAreachart, preview = TRUE)

#グラフの種類を設定:chart_settingsコマンド
#種類を設定:groupingオプション;stacked:積み上げ,percentStacked:100%積み上げ,
#clustered:集合;棒グラフと散布図,standard:標準が指定可能
#グラフの重なりを調整:overlapコマンド;-100から100で指定可能
SetTestBar1 <- chart_settings(TestBar, grouping = "stacked", overlap = 50)
print(SetTestBar1, preview = TRUE)

#X,Y軸の書式設定:chart_ax_x,chart_ax_yコマンド
#両コマンドオプションが共通
#ラベルの位置を指定:crossesオプション;min,max,autoZeroが指定可能
#目盛,補助目盛の位置を指定:major_tick_mark,minor_tick_markオプション
#cross,in,none,outが指定可能
#ラベルの回転:rotationオプション;-360から360で指定可能
#数値書式設定:num_fmtオプション
SetTestBar2 <- chart_ax_x(SetTestBar1, crosses = "min", minor_tick_mark = "cross",
                             rotation = -45)
SetTestBar3 <- chart_ax_y(SetTestBar2, crosses = "min", minor_tick_mark = "cross",
                             num_fmt = "0.0", rotation = -45)
print(SetTestBar3, preview = TRUE)

#グラフ,X,Y軸のタイトルを設定:chart_labelsコマンド
#日本語利用もOK
SetTestBar3$theme$main_title$font.family <- "MS UI Gothic"
SetTestBar3$theme$axis_title_x$font.family <- "MS UI Gothic"
SetTestBar3$theme$axis_title_y$font.family <- "MS UI Gothic"
SetTestBar4 <- chart_labels(SetTestBar3, title = "Title", 
                               xlab = "x title", ylab = "y title")
print(SetTestBar4, preview = TRUE)

#塗り色を指定:chart_data_fillコマンド
#色を設定:valueオプション;単色またはラベル名で指定
SetTestBar5 <- chart_data_fill(SetTestBar4,
                                  values = c(Group1 = "#FDE4C0",
                                             Group2 = "#FFF7F3",
                                             Group3 = "red"))
print(SetTestBar5, preview = TRUE)

#枠線色を指定:chart_data_strokeコマンド
#オプションはchart_data_fillコマンドと共通
SetTestBar6 <- chart_data_stroke(SetTestBar5, values = "yellow")
print(SetTestBar6, preview = TRUE)

#参考:WordまたはPowerPointに埋め込み保存する方法
#install.packages("officer")
library("officer")
#Word:body_add_chartコマンド
doc <- read_docx()
doc <- body_add_chart(doc, chart = SetTestBar6, style = "centered")
print(doc, target = "Test.docx")
#PowerPoint:ph_with_chartコマンド
doc <- read_pptx()
doc <- add_slide(doc, layout = "Title and Content", master = "Office Theme")
doc <- ph_with_chart(doc, chart = SetTestBar6)
print(doc, target = "Test.pptx")

出力例

・グラフを作成:ms_XXXXコマンド

・ms_barchartコマンドに全体裁コマンドを適応
『SetTestBar6』を出力

・参考:Wordへ出力後に編集

少しでも、あなたの解析が楽になりますように!!

Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.
タイトルとURLをコピーしました