80694


R Markdownを使ってpdf文書を作成しています。  
[modelsummary](https://vincentarelbundock.github.io/modelsummary/index.html)パッケージに含まれる`modelplot()`関数を使ってモデルの推定値と標準誤差を図で示したいですが、図の凡例に日本語が含まれる場合、文字化けを起こします。[公式のドキュメント](https://vincentarelbundock.github.io/modelsummary/articles/modelplot.html)では、日本語を扱う方法は触れられていませんでした。この問題を解決するためにはどうすればよいでしょうか？  
サンプルデータを使って再現した図とコードを次に示します。

[code]

    model <- 
      list(
      `モデル1` = lm(mpg ~ ., data = mtcars),
      `モデル2` = lm(Sepal.Length ~ ., data = iris)
      )
    
    modelplot(model)
    
[/code]

また、本文の日本語のタイプセットのために設定しているyamlの基本的な構成を次に示します。

[code]

    output: 
      pdf_document:
        dev: cairo_pdf
        latex_engine: xelatex
    documentclass: bxjsarticle
    classoption: xelatex,ja=standard,a4paper,jafont=ms
    header-includes: |
      \usepackage{zxjatype}
    
[/code]

また、ggplot2で図を出力するために以下のような設定を記述しています。  
この設定を含めた場合、ggplot2を使用した図は文字化けせずに出力されますが、`modelplot()`を使用した場合だけ文字化けします。

[code]

    library(fontregisterer)
    library(systemfonts)
    family_sans <- "MS Gothic" 
    family_serif <- "MS Mincho" 
    theme_set(
      theme_classic() +
      theme(
        text = element_text(family = family_serif, face = "plain"),
        title = element_text(face = "plain"),
        axis.title = element_text(face = "plain"),
        axis.title.x = element_text(face = "plain"),
        axis.title.y = element_text(face = "plain")
      )
    )
    
[/code]

[![モデル](https://i.stack.imgur.com/5dfrj.png)](https://i.stack.imgur.com/5dfrj.png)


CC BY-SA 4.0
2021-08-09T05:29:23.283
80681
2021-08-09T19:09:46.010
47637
question
r tidyverse
modelsummaryのmodelplot()を使って文字化けしない図をpdfで出力するためにはどうすればよいですか？


`theme()` 関数で `legend.text` を設定して `modelplot(model)` に追加してみてはどうでしょうか。

[code]

    library(ggplot2)
    library(modelsummary)
    
    model <- 
      list(
      `モデル1` = lm(mpg ~ ., data = mtcars),
      `モデル2` = lm(Sepal.Length ~ ., data = iris)
      )
    
    family_serif <- "MS Mincho"
    p <- modelplot(model) + theme(legend.text = element_text(family=family_serif))
    ggsave(file="model.pdf", device=cairo_pdf, p)
    
[/code]

[![modelplot](https://i.stack.imgur.com/25Caw.png)](https://i.stack.imgur.com/25Caw.png)


CC BY-SA 4.0
2021-08-09T17:14:26.050
80694
2021-08-09T19:09:46.010
2021-08-09T19:09:46.010
47127
47127
80681
answer