R の tidyverse パッケージ: Install, 使い方など

UB3/informatics/r/package_tidyverse

このページの最終更新日: 2024/03/15

  1. 概要: tidyverse とは
  2. tidyverse のインストール

広告

概要: tidyverse とは

tidyverse は単独のパッケージでなく、モダンなデータ分析を可能にするパッケージがまとめられたものである。たとえば、以下のようなパッケージが含まれている。解説ページの一つ

ggplot2

デフォルトの作図コマンドよりも、きれいな図が作れる (5)。公式ページ も参照のこと。

dplyr

便利なデータ操作を可能にする。以下のような関数が含まれる。

  • select() 関数: 列の選択
  • filter() 関数: 行の選択
  • arrange() 関数: 行の並び替え
  • mutate() 関数: 列の追加
  • join() 関数: データセットの結合
  • enframe() 関数: ベクトルから name と value という 2 列のデータフレームを生成する。要素は value 列に格納され、name には要素の名前 (名前付きベクトルの場合) または 1, 2, 3... という番号が入る。

readr

read_csv などを含む。便利な形でのファイルの読み込みを可能にする。

tibble

データフレームではなく、tibble という構造でデータを扱えるようにする。

rownames_to_column, column_to_rownames など、行列の名前を変える 関数は使用頻度が高い。

magrittr

パイプ演算子 %>% は、このパッケージで利用が可能になる。

tidyr

データ変形ツール。データフレーム を縦長・横長・入れ子などに変えることができる。アイディアは reshape2 関数に似ている。

tidyr::pivot_longer() で、データフレームを縦長にできる。

pivot_longer((cols=c('var1', 'var2', ...), names_to='col1_name', values_to='col2_name')


tidyverse のインストール

install.packages("tidyverse”) で遭遇したエラーとその解決方法。

2023 年 9 月

Ventura クリーンインストール に伴う再インストール。R version 4.3.1, RStudio version 2023.06.2+561.

2023 年 5 月のエラー に似ている。ragg がないというメッセージ。

ERROR: dependency ‘ragg’ is not available for package ‘tidyverse’

install.packages("ragg") がダメなのも同様。まず brew install libpng libtiff を、次に brew install harfbuzz fribidi を実行。これで ragg のインストールは成功。

ragg インストール後に、tidyverse もインストールできた。8 月に手間がかかったのは、XCode がかなりおかしくなっていたためと思われる。

2023 年 8 月

いろいろアップデートしたら、tidyverse を再インストールしなければならなくなった。 R version 4.3.1 (2023-06-16), RStudio 2023.06.1+524。

install.packages("tidyverse”) では、数えきれないほどのエラーが出てどうにもならない感じ。この次に brew install libpng libtiff を実行してもあまり変わらず。

GitHub から remotes::install_github("tidyverse/dplyr") とすると、エラーの数がだいぶ減る。これは dplyr のみをインストールする。

ERROR: dependencies ‘cli’, ‘glue’, ‘lifecycle’, ‘magrittr’, ‘pillar’, ‘rlang’, ‘tibble’, ‘tidyselect’, ‘vctrs’ are not available for package ‘dplyr’

いくつかのパッケージを個別にインストールしようとしてみたが、これもダメ。

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

このエラーは、XCode に問題があるときによく見るエラーである。OS をアップデートしたときなどによく出てくる。以下の対処。このあたり、一般的な XCode の問題とも言えるので、いずれ別のページに移すかも。

  • xcode-select --install で XCode を再インストールしてみる。
  • sudo xcode-select --reset でリセット

または、以下の 2 つを実行して XCode へのパスをリセット。

  • sudo xcode-select --switch /Applications/Xcode.app
  • sudo xcode-select --switch /Library/Developer/CommandLineTools

今回は、xcode-select --install による再インストールのみでいろいろ動くようになった。ここで、以下と同じ textshaping および ragg がないというエラーになったので、brew reinstall libpng libtiff で再インストールするが、これも効かず。

ここは textshaping エラーメッセージにあるとおり brew reinstall harfbuzz fribidi で、textshaping, ragg ともにインストール成功。最後に install.packages("tidyverse") で OK。/p>

2023 年 5 月

まずは単に install.packages("tidyverse”) を実行。R 4.3.0, RStudio 2023.03.1+446。インストールコマンドを実行後、長い時間がかかるが、最初の試みは失敗し、一番下のメッセージにこのエラー。

ERROR: dependency ‘ragg’ is not available for package ‘tidyverse’

ragg というパッケージがないということなので、まず install.packages("ragg") を実行してみたところ、以下のエラー。

Configuration failed to find the --static harfbuzz freetype2 fribidi library. Try installing:
* deb: libharfbuzz-dev libfribidi-dev (Debian, Ubuntu, etc)
* rpm: harfbuzz-devel fribidi-devel (Fedora, EPEL)
* csw: libharfbuzz_dev libfribidi_dev (Solaris)
* brew: harfbuzz fribidi (OSX)
If --static harfbuzz freetype2 fribidi is already installed, check that 'pkg-config' is in your...

これに従い、OSX なので brew: harfbuzz fribidi を実行。これは実は brew install harfbuzz fribidi であり、これを実行するとエラーメッセージが少し変わるが、まだインストールされない。

このページ を参考に以下のコマンドを実行すると、ragg がインストールされる。

brew install libpng libtiff

ragg のあとに install.packages("tidyverse") でインストール成功。


2021 ごろ?

このエラーおよび解決の時期は不明。おそらく 2021 年夏頃。

  • ERROR: failed to lock directory ‘/usr/local/lib/R/4.1/site-library’ for modifying. Try removing ‘/usr/local/lib/R/4.1/site-library/00LOCK-blob’

このページ を参考に、install.packages("Rcpp", dependencies = TRUE, INSTALL_opts = '--no-lock') としたが解決せず。よく見ると、エラーが微妙に違う。

ファイルを削除するのはなんとなく嫌だったが、サジェストされている通りに sudo rm -r /usr/local/lib/R/4.1/site-library/00LOCK-blob で解決。

read_csv での The size of the connection buffer (131072) was not large enough to fit a complete line: * Increase it by setting `Sys.setenv("VROOM_CONNECTION_SIZE") というエラー。

バッファにしている領域が足りないという感じのエラーで、大きなデータを読み込むときに遭遇した。Sys.setenv("VROOM_CONNECTION_SIZE") の部分は、Sys.setenv (VROOM_CONNECTION_SIZE = 500000) のように実際に数字を入れて設定する。


広告

References

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。