第7章 入出力と保存 ・ ノック 99 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br>
← 前 [[098 - オブジェクトをそのまま保存して読み戻す]] ・ 次 → [[100 - Rを閉じて作業を終える]]
> [!info] URL から直接データを読み込む
> `read.csv()` の引数にはファイルパスだけでなく URL を渡すこともできます。インターネット上に公開されている CSV ファイルであれば、ダウンロードせずに直接読み込むことが可能です。
>
> ただしこの方法はネットワーク接続が必要です。大学や病院のネットワークによってはプロキシ設定や通信制限があり、うまく繋がらない場合があります。また URL が変わると読めなくなるため、本番の解析では一度手元にダウンロードして保存しておく方が安全です。`readr::read_csv()` でも同様に URL を渡せます。
## 問題
`read.csv()` に URL を渡してインターネット上の CSV を直接読み込む方法を確認してください。以下のコードを環境に合わせて試してみましょう(通信が必要なため実行できない場合があります)。
> [!tip] ヒント
> `read.csv("https://example.com/data.csv")` のように、ファイルパスの代わりに URL 文字列を渡すだけです。
> [!success]- 回答を見る
> ```r
> # URL を直接指定して読み込む例(通信が必要)
> url <- "https://raw.githubusercontent.com/tidyverse/ggplot2/main/data-raw/diamonds.csv"
> # dat <- read.csv(url)
> # head(dat)
>
> # readr を使う場合
> # library(readr)
> # dat <- read_csv(url)
> ```
> ```
> (実行環境のネットワーク設定によって結果は異なります)
> ```
> コードはコメントアウトしてあります。ネットワークに繋がる環境では `#` を外して実行してください。本番解析では `download.file(url, "local.csv")` で手元に保存してから読む方が安全です。