※資料作成は岩嵜航さん(東北大学)にご協力いただきました。

(左右キーで進みます!)

Return to HOME

目次

エラーが出てしまったら…(1/4)

  • エラーの8割は凡ミスです!よく確認しよう!
    • 左にがついてたり、コードに波線がある場合はミスあり
      • なくなるまで試行錯誤(そのまま走らせてもダメ)
    • (ミスを発見しやすいように表示を大きく!!)
    • スペルミスを避けるために、コードに関してはコピペ推奨
    • エラーコードをよく読もう
Return to HOME

エラーが出てしまったら…(2/4)

  • エラーがどこで出ているかを特定しよう
  1. まず各行の%>%や+の前まで走らせる
    • %>%や+を入れてしまうと計算途中になってしまう
  2. head(result)で結果を見て、どこまでできてるか調べる
  3. エラーが出た行をよく見て間違いを探す
Return to HOME

エラーが出てしまったら…(3/4)

  • パッケージ名やエラー文をコピペして検索しよう
  • エラーを解決する能力 ≒ コードを書く能力
    • 日本語/英語で検索(画像検索も良い)
    • 生成AI(ChatGPTなど)に自分のコードと出力コードを貼り付けるとエラーの意味や修正の仕方を教えてくれる
      • ただし個人情報などを入れないように注意!
      • ChatGPT3.5だとまだかなり限界がある
      • コードの意味をわかっていないと解決できない
  • r-wakalang(熟練Rおじさんが教えてくれるSlack)
Return to HOME

エラーが出てしまったら…(4/4)

  • Rヘルプやパッケージの公式ドキュメントを読もう
    • コンソールに以下を打つとheadのHelpが表示される
?head
  • headを好きな関数に変えればOK
Return to HOME

初めての関数を使うとき…(1/8)

  • まずサンプルコードでどう動くか確認しよう
    • 例えば:ggplot2のgeom_smooth関数
    • まずは公式geom_smooth関数のページを開いてみる
    • (次ページへ)
Return to HOME

初めての関数を使うとき…(2/8)

  • 公式ページを開くとこんな感じ
  • Usage:使い方のまとめ→とりあえずスルー
Return to HOME

初めての関数を使うとき…(3/8)

  • 下にスクロールすると…
  • Arguments:引数(入れるデータについて)→とりあえずスルー
Return to HOME

初めての関数を使うとき…(4/8)

  • さらに下にスクロールすると…
  • Aesthetics:aes()に何を入れるか(太字は必須)→ざっと見る
Return to HOME

初めての関数を使うとき…(5/8)

  • さらにさらに下にスクロールすると…
  • Example:サンプルコード!!
    • コードをコピー(Ctr + C or 右上のコピーマーク)
Return to HOME

初めての関数を使うとき…(6/8)

  • 新しいスクリプト(New file)を作る
  • コピーしたコードを貼って上から順番に走らせてみる
library(tidyverse)
ggplot(mpg, aes(displ, hwy)) + #Rに元々入っているmpgというデータで書いている
  geom_point() +
  geom_smooth()

初めての関数を使うとき…(7/8)

  • サンプルデータ(mpg)がどんなデータだったのか確認
head(mpg, n = 3)
## # A tibble: 3 × 11
##   manufacturer model displ  year   cyl trans      drv     cty   hwy fl    class 
##   <chr>        <chr> <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr> 
## 1 audi         a4      1.8  1999     4 auto(l5)   f        18    29 p     compa…
## 2 audi         a4      1.8  1999     4 manual(m5) f        21    29 p     compa…
## 3 audi         a4      2    2008     4 manual(m6) f        20    31 p     compa…
str(mpg)
## tibble [234 × 11] (S3: tbl_df/tbl/data.frame)
##  $ manufacturer: chr [1:234] "audi" "audi" "audi" "audi" ...
##  $ model       : chr [1:234] "a4" "a4" "a4" "a4" ...
##  $ displ       : num [1:234] 1.8 1.8 2 2 2.8 2.8 3.1 1.8 1.8 2 ...
##  $ year        : int [1:234] 1999 1999 2008 2008 1999 1999 2008 1999 1999 2008 ...
##  $ cyl         : int [1:234] 4 4 4 4 6 6 6 4 4 4 ...
##  $ trans       : chr [1:234] "auto(l5)" "manual(m5)" "manual(m6)" "auto(av)" ...
##  $ drv         : chr [1:234] "f" "f" "f" "f" ...
##  $ cty         : int [1:234] 18 21 20 21 16 18 18 18 16 20 ...
##  $ hwy         : int [1:234] 29 29 31 30 26 26 27 26 25 28 ...
##  $ fl          : chr [1:234] "p" "p" "p" "p" ...
##  $ class       : chr [1:234] "compact" "compact" "compact" "compact" ...
Return to HOME

初めての関数を使うとき…(8/8)

  • 自分のデータとサンプルデータの形が一致していることを確認
    • なっていなかったらdplyrやtidyrでデータ処理
  • サンプルコードを改変して自分のデータを処理してみる
    • エラーが出たら頑張って対処する
Return to HOME

よくあるエラー:凡ミス系(1/2)

大文字小文字などの間違い

  • 機械は大文字小文字や似ている文字を別の文字として認識するので、間違うとコードが走らない
  • Sとs、Cとc、I(大文字のアイ)とl(小文字のエル)など

スクリプトの左側に赤いバツが出る

  • かっこ()の辻褄が合っていない、位置が間違っている
  • ほかにもなにか間違っていることを教えてくれている
    • バツが付いている限りうまく走らない
Return to HOME

よくあるエラー:凡ミス系(2/2)

+ や %>% の位置

  • 抜けている(ただの改行になっている)
  • 最後の行なのに+や%>%がついている

スペルミスなど

  • 例:誤「date =」→正「data=」
  • 単語の間に「,」が入っているか
  • 「” “」で囲むべきなのに囲ってない
Return to HOME

よくあるエラー:そんなのないよ系(1/2)

could not find function…

  • R:「そんな関数知らないよ」
  • libraryを読み込むのを忘れている
    • Rを立ち上げるたびに読み込む必要あり
  • パッケージが古い
    • バージョンが古かったらアップデート

could not find …/オブジェクト~がありません

  • R:「そんなオブジェクト知らないよ」
  • コードにあるdata.frameやvectorがうまくできていない
    • data.frameを作るところまでさかのぼって確認
Return to HOME

よくあるエラー:そんなのないよ系(2/2)

no such file or directory

  • R:「そんなファイル/ディレクトリないよ」
  • 作業ディレクトリとファイルの置き場所が食い違っている
  • 現時点の作業ディレクトリを確認する
getwd()
  • 作業ディレクトリを変更する
setwd("~/Dropbox/R_training_2023")
# ""のなかは作業ディレクトリにしたいフォルダのpath(PCのなかのデータの住所)
  • Session > Set working directoryでも指定できる
    - To Source File Locationでscriptのあるフォルダに
Return to HOME

よくあるエラー:データができてない系

なんかエラーが出る…

  • data.frameの中身をheadで確認する
  • どこまでうまくできているか調べる
    • %>%や+の前までコードを走らせて、できたdata.frameを確認
    • dafa.frameがおかしくなる部分に原因があるはず
Return to HOME

よくあるエラー:インストール系

  • パッケージのインストールが上手くいかない
    • install.package()のパッケージ名は”“で囲む
    • 右側のPackageボタンからのinstallボタンでうまくいくことがあった
    • そもそもRがうまくインストールできていないことも
  • Rのバージョンがちがうために上手くいかない
    • 正しいバージョンで入れ直す
  • インストールしたはずのパッケージが動かない
    • インストールしたパッケージには別のパッケージが必要な場合もある
    • エラーメッセージにパッケージ名が表示されるので直接インストールする
Return to HOME

よくあるエラー:整然データじゃない系

  • データの列名にスペースが入ってしまっている
    • ““で囲む
    • 列名変更
  • データの列名の先頭が数字
    • ’’で囲んだ形に自動変換される
  • csvで保存できていない
    • あとから拡張子だけ書き換えてもダメ
    • エクセル保存時にcsv形式を選ぶ
Return to HOME

よくあるエラー:その他

  • データフレーム同士をくっつけようとした場合、列数(size?)が一致していなかったために上手くいかない
    • 列数を一致させる
  • データの型がnumeric(double)になるべきところがcharacterになっているため計算できない
    • characterだと数字として認識されない
      • as.numeric()で型を変更する
    • readrで読んだデータはデータフレームの値の型(dblなど)が表示されてる
  • aes()の内外が違う
    • 値に依存するパラメーターはaes()の中
    • 値に依存しないパラメーターはaes()の外
Return to HOME