★データ解析備忘録★

ゆる〜い技術メモ

【Rパッケージ】appveyor.ymlの注意点

これはなに

久しぶりにRパッケージのメンテをしていてハマったので備忘録としてメモ。タイトル通りappveyorでコードをテストするときの注意点です。

Appveyorとは

Rパッケージ等のソフトウェアのチェックをする際に使われるCI (継続的インテグレーション) ツールの一つで、有名なものとしてTravisがありますが、AppveyorはOSとしてWindowsを使うことを前提としたものです。

Unix系でもWindowsでも正しく動作することを確認するのはとても重要です。

続きを読む

Rのrevealjsパッケージで作ったスライドをPDFにしたい

方法

htmlの末尾に ?print-pdf をつけてブラウザの印刷機能でPDF出力。

例: https://ymattu.github.io/TokyoR74/slide.html#/ の場合、

https://ymattu.github.io/TokyoR74/slide.html?print-pdf#/ にする。

ブラウザ上での表示はおかしくなりますが、PDF上ではきれいになります。

(もちろん、PDFなので縦横にスクロールするようなものは無効になって途中で途切れたような表示になりますが。)

オプション

  • 余白:なし
  • オプション:「背景のグラフィック」にチェックする

データフレームから全て NAの列や行を取り除くには

TL;DR

もっと簡単に書ける/良い方法があれば @y__mattu までお願いします。

library(tidyverse)

# サンプルデータ
my_iris <- iris %>%
  # 全部NAの列を追加
  add_column(na_col = NA, .before = 0) %>%
  # 全部NAの行を追加
  add_row(.before = 0)

head(my_iris)
#>   na_col Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1     NA           NA          NA           NA          NA    <NA>
#> 2     NA          5.1         3.5          1.4         0.2  setosa
#> 3     NA          4.9         3.0          1.4         0.2  setosa
#> 4     NA          4.7         3.2          1.3         0.2  setosa
#> 5     NA          4.6         3.1          1.5         0.2  setosa
#> 6     NA          5.0         3.6          1.4         0.2  setosa

# 全部NAの列を削除
my_iris %>%
  select_if(~sum(!is.na(.)) > 0) %>%
  head()
#>   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1           NA          NA           NA          NA    <NA>
#> 2          5.1         3.5          1.4         0.2  setosa
#> 3          4.9         3.0          1.4         0.2  setosa
#> 4          4.7         3.2          1.3         0.2  setosa
#> 5          4.6         3.1          1.5         0.2  setosa
#> 6          5.0         3.6          1.4         0.2  setosa

# 全部NAの行を削除
my_iris %>%
  filter_all(any_vars(!is.na(.))) %>%
  head()
#>   na_col Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1     NA          5.1         3.5          1.4         0.2  setosa
#> 2     NA          4.9         3.0          1.4         0.2  setosa
#> 3     NA          4.7         3.2          1.3         0.2  setosa
#> 4     NA          4.6         3.1          1.5         0.2  setosa
#> 5     NA          5.0         3.6          1.4         0.2  setosa
#> 6     NA          5.4         3.9          1.7         0.4  setosa
続きを読む