RStudioのパッケージインストール時に発生するエラーとその対処

# RStudioにおけるパッケージインストール時に発生するエラーの対処

## 目次
* [はじめに](#はじめに)
* [エラーメッセージ](#エラーメッセージ)
* [原因](#原因)
* [対処](#対処)
* [おわりに](#おわりに)
    * [参考](#参考)

---------------------------------------
## はじめに
RStudioに初めて手を出したので自分用に整理する意味も込めて、メモ程度に残してみようと思います。Qiitaの投稿自体も初めてなので、稚拙な文章になっているかとは思いますが、ご容赦ください。

---------------------------------------
## エラーメッセージ

私の場合、この方のように``‘Rtool’ is not available``と以下のようなメッセージがコンソールに表示されました。
[Errors in Rtool installations]
(https://community.rstudio.com/t/errors-in-rtool-installations/35689)

```

R package or namespace load failed for ‘dplyr’ in get(Info[i, 1], envir = env)
```
また、``Sys.getenv("R_LIBS_USER")``で値を表示してみると、 以下の日本語部分が文字化けしてしまいました。

```
"C:\\Users\\user_name\\Documents\\R言語\\R練習"

```
## 原因

どうやら、``Rtools``がインストールされていなかったのと、文字化けしたということで、文字コードの選択が問題だったようです。

---------------------------------------
## 対処

### Rtoolsのインストール
こちらのサイトから、 ``rtools40-x86 64.exe``をダウンロードして、作業ディレクトリにインストールしました。
[Using Rtools40 on Windows](https://cran.r-project.org/bin/windows/Rtools/index.html)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677454/0b8aa32f-ab99-b9fd-07be-cdb98def9edc.png)


### 文字コードの変更
メニューの選択画面の``Tools``の``Global Options``から、文字コードを``UTF-8``に設定しました。
``(2020/7/26追記)``また, 日本語ディレクトリ名自体が文字化けの原因になっていると考えて、ディレクトリ名もアルファベット表記に変更しました。

![tools.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677454/b5e87d2d-7a15-1a09-2f66-04d434cb4986.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677454/0b1dcfe6-16fd-5422-91bb-94ff3cc0ebe1.png)

### 再起動
その後、``Ctrl``+``Shift``+``F11``によって、RStudioを再起動しました。

### パッケージのインストールと動作確認

再度、``install.packages``でパッケージをインストールしてみると、エラーメッセージが消えました。
そこで、``library()``でパッケージを有効可すると、``filter()``や``select()``などが使えるようになりました。

```R:code
library(dplyr)

#名簿とスコア
data1.list <- c("山田","佐藤","西田","高橋","北野")
data2.list <- c("宮本","櫛田","原本","案田","倉野")

#data.frame(a,b,c) = (氏名,数学の得点, 英語の得点)
name1 <- data.frame(
  data1=data1.list,
  math_score=c(50,60,70,80,90),
  eng_score=c(95,85,75,65,55))
name1 

name2 <- data.frame(
  data2=data2.list,
  math_score=c(45,55,68,93,80),
  eng_score=c(99,84,57,43,86))
name2  

#数学のスコアが70より高い,かつ英語のスコアが60より高い
filter(name1,math_score > 70, eng_score > 60)
filter(name2,math_score > 70, eng_score > 60)

#数学と英語のスコアをそれぞれ範囲選択
select(name1, math_score)
select(name2, eng_score)

```
```R:console
#名簿とスコア
> data1.list <- c("山田","佐藤","西田","高橋","北野")
> data2.list <- c("宮本","櫛田","原本","案田","倉野")
> 
> #data.frame(a,b,c) = (氏名,数学の得点, 英語の得点)
> name1 <- data.frame(
+   data1=data1.list,
+   math_score=c(50,60,70,80,90),
+   eng_score=c(95,85,75,65,55))
> name1 
  data1 math_score eng_score
1  山田         50        95
2  佐藤         60        85
3  西田         70        75
4  高橋         80        65
5  北野         90        55
> 
> name2 <- data.frame(
+   data2=data2.list,
+   math_score=c(45,55,68,93,80),
+   eng_score=c(99,84,57,43,86))
> name2  
  data2 math_score eng_score
1  宮本         45        99
2  櫛田         55        84
3  原本         68        57
4  案田         93        43
5  倉野         80        86
> 
> #数学のスコアが70より高い,かつ英語のスコアが60より高い
> filter(name1,math_score > 70, eng_score > 60)
  data1 math_score eng_score
1  高橋         80        65
> filter(name2,math_score > 70, eng_score > 60)
  data2 math_score eng_score
1  倉野         80        86
> 
> #数学と英語のスコアをそれぞれ範囲選択
> select(name1, math_score)
  math_score
1         50
2         60
3         70
4         80
5         90
> select(name2, eng_score)
  eng_score
1        99
2        84
3        57
4        43
5        86
```

---------------------------------------
## おわりに
記事を作成する際に参考にさせて頂いたサイトを貼っておきます。


### 参考
* [stack overflowの関連質問1](https://stackoverflow.com/questions/31717850/error-package-or-namespace-load-failed-for-ggplot2-and-for-data-table)
* [stack overflowの関連質問2]
(https://ja.stackoverflow.com/questions/31744/r%E3%81%AE%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%83%AD%E3%83%BC%E3%83%89%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B)
* [R初心者の館]
(https://das-kino.hatenablog.com/entry/2019/11/07/125044)
* [Rでパッケージがインストールできない時の対処法メモ]
(https://qiita.com/hachisukansw/items/ac1b7f608db1fe4d09e6)
* [Markdown記法のテンプレート]
(https://qiita.com/taigaaa2/items/ac682c57d8edae4a75d8#%E8%A8%98%E6%B3%95%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D)


***