atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
R入門
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
R入門
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
R入門
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • R入門
  • ファイルの入出力

R入門

ファイルの入出力

最終更新:2025年01月29日 19:40

r-intro

- view
管理者のみ編集可

目次

  • 目次
  • Excel
    • Excelファイルに含まれるワークシートの名前をすべて表示する
    • Excelファイルのワークシートの中身を読み込む
  • Apache
    • Apacheのログファイルを読み込む
    • Apacheのログファイルの日付列から日付時刻型ベクトルを作成する

Excel

Excelファイルに含まれるワークシートの名前をすべて表示する

readxlパッケージのexcel_sheets関数は、指定したExcelファイルに含まれるワークシートの名前を文字列型ベクトルで返す。以下はあらかじめ用意したエクセルファイル(sample1.xlsx)から読み込んだ例。xlsファイルかxlsxファイルかは自動判定して読み込んでくれる。ワークシートを指定しない場合は、一番最初(左側)のワークシートを読み込むが、sheetオプションにワークシート名を指定することで、指定したワークシートから読み込むことができるようになる。

> library(readxl)
> xlsx <- "sample1.xlsx"
> excel_sheets(xlsx)
[1] "石見舞菜香" "鈴木みのり" "和多田美咲"
> sheets <- excel_sheets(xlsx)
> tib <- read_excel(xlsx, sheet = sheets[2], col_names = TRUE)
> tib |> as.data.frame()
  番号       名前
1    1 セナディア
2    2   フレイア

Excelファイルのワークシートの中身を読み込む

readxlパッケージのread_excel関数を使う。以下はあらかじめ用意したエクセルファイル(sample1.xlsx)から読み込んだ例。xlsファイルかxlsxファイルかは自動判定して読み込んでくれる。ワークシートを指定しない場合は、一番最初(左側)のワークシートを読み込む。特定のワークシートから読み込みたい場合は、sheetオプションにワークシート名を指定すること。

> library(readxl)
> xlsx <- "sample1.xlsx"
> tib <- read_excel(xlsx, col_names = TRUE)
> tib |> as.data.frame()
  番号           名前
1    1 ライスシャワー
2    2         フィー
3    3     黒川あかね
> tib <- read_excel(xlsx, sheet = "和多田美咲", col_names = TRUE)
> tib |> as.data.frame()
  番号             名前
1    1 メイショウドトウ

Apache

Apacheのログファイルを読み込む

tidyverseパッケージを読み込んで、read_log関数を使うと簡単にtibbleにすることができる。以下、例。

以下15行からなるサンプルのログファイル(access.log)をカレントディレクトリに置く。

192.168.12.2 - - [06/Dec/2024:23:51:07 +0900] "GET / HTTP/1.1" 200 3460 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"
192.168.12.2 - - [06/Dec/2024:23:51:07 +0900] "GET /icons/ubuntu-logo.png HTTP/1.1" 200 3607 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"
192.168.12.2 - - [06/Dec/2024:23:51:07 +0900] "GET /favicon.ico HTTP/1.1" 404 490 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"
192.168.12.4 - - [06/Dec/2024:23:53:49 +0900] "GET / HTTP/1.1" 200 3460 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"
192.168.12.4 - - [06/Dec/2024:23:53:49 +0900] "GET /icons/ubuntu-logo.png HTTP/1.1" 200 3607 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"
192.168.12.4 - - [06/Dec/2024:23:53:49 +0900] "GET /favicon.ico HTTP/1.1" 404 490 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"
192.168.12.4 - - [06/Dec/2024:23:54:23 +0900] "GET / HTTP/1.1" 200 3460 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
192.168.12.4 - - [06/Dec/2024:23:54:23 +0900] "GET /icons/ubuntu-logo.png HTTP/1.1" 200 3607 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
192.168.12.4 - - [06/Dec/2024:23:54:23 +0900] "GET /favicon.ico HTTP/1.1" 404 490 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
192.168.12.4 - - [06/Dec/2024:23:55:14 +0900] "-" 408 0 "-" "-"
192.168.12.4 - - [06/Dec/2024:23:56:56 +0900] "GET / HTTP/1.1" 200 3460 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"
192.168.12.4 - - [06/Dec/2024:23:56:56 +0900] "GET /icons/ubuntu-logo.png HTTP/1.1" 200 3607 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"
192.168.12.4 - - [06/Dec/2024:23:56:56 +0900] "GET /favicon.ico HTTP/1.1" 404 490 "http://192.168.12.9/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"
192.168.12.4 - - [06/Dec/2024:23:57:04 +0900] "GET / HTTP/1.1" 200 3460 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"
192.168.12.4 - - [06/Dec/2024:23:57:55 +0900] "-" 408 0 "-" "-"

パッケージを読み込んで、read_log関数でファイルを読み込む。

> library(tidyverse)
> options(readr.show_progress = FALSE, readr.show_col_types = FALSE)
> tib <- read_log("access.log")
> dim(tib)
[1] 15  9
> tib[, 1:6] |> as.data.frame()
             X1 X2 X3                         X4                                  X5  X6
1  192.168.12.2 NA NA 06/Dec/2024:23:51:07 +0900                      GET / HTTP/1.1 200
2  192.168.12.2 NA NA 06/Dec/2024:23:51:07 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
3  192.168.12.2 NA NA 06/Dec/2024:23:51:07 +0900           GET /favicon.ico HTTP/1.1 404
4  192.168.12.4 NA NA 06/Dec/2024:23:53:49 +0900                      GET / HTTP/1.1 200
5  192.168.12.4 NA NA 06/Dec/2024:23:53:49 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
6  192.168.12.4 NA NA 06/Dec/2024:23:53:49 +0900           GET /favicon.ico HTTP/1.1 404
7  192.168.12.4 NA NA 06/Dec/2024:23:54:23 +0900                      GET / HTTP/1.1 200
8  192.168.12.4 NA NA 06/Dec/2024:23:54:23 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
9  192.168.12.4 NA NA 06/Dec/2024:23:54:23 +0900           GET /favicon.ico HTTP/1.1 404
10 192.168.12.4 NA NA 06/Dec/2024:23:55:14 +0900                                <NA> 408
11 192.168.12.4 NA NA 06/Dec/2024:23:56:56 +0900                      GET / HTTP/1.1 200
12 192.168.12.4 NA NA 06/Dec/2024:23:56:56 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
13 192.168.12.4 NA NA 06/Dec/2024:23:56:56 +0900           GET /favicon.ico HTTP/1.1 404
14 192.168.12.4 NA NA 06/Dec/2024:23:57:04 +0900                      GET / HTTP/1.1 200
15 192.168.12.4 NA NA 06/Dec/2024:23:57:55 +0900                                <NA> 408

作成したtibbleは15行9列で、1~6列を表示させたところ、正しく読み込まれていることがわかる。

Apacheのログファイルの日付列から日付時刻型ベクトルを作成する

tidyverseパッケージを読み込むと読み込まれるlubridateパッケージのparse_date_time関数を使う。以下は15行からなるサンプルのApacheのログファイルを読み込み、日付列(4列目)を日付時刻型ベクトルに変換した例。

> library(tidyverse)
> options(readr.show_progress = FALSE, readr.show_col_types = FALSE)
> tib <- read_log("access.log")
> dim(tib)
[1] 15  9
> tib[, 1:6] |> as.data.frame()
             X1 X2 X3                         X4                                  X5  X6
1  192.168.12.2 NA NA 06/Dec/2024:23:51:07 +0900                      GET / HTTP/1.1 200
2  192.168.12.2 NA NA 06/Dec/2024:23:51:07 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
3  192.168.12.2 NA NA 06/Dec/2024:23:51:07 +0900           GET /favicon.ico HTTP/1.1 404
4  192.168.12.4 NA NA 06/Dec/2024:23:53:49 +0900                      GET / HTTP/1.1 200
5  192.168.12.4 NA NA 06/Dec/2024:23:53:49 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
6  192.168.12.4 NA NA 06/Dec/2024:23:53:49 +0900           GET /favicon.ico HTTP/1.1 404
7  192.168.12.4 NA NA 06/Dec/2024:23:54:23 +0900                      GET / HTTP/1.1 200
8  192.168.12.4 NA NA 06/Dec/2024:23:54:23 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
9  192.168.12.4 NA NA 06/Dec/2024:23:54:23 +0900           GET /favicon.ico HTTP/1.1 404
10 192.168.12.4 NA NA 06/Dec/2024:23:55:14 +0900                                <NA> 408
11 192.168.12.4 NA NA 06/Dec/2024:23:56:56 +0900                      GET / HTTP/1.1 200
12 192.168.12.4 NA NA 06/Dec/2024:23:56:56 +0900 GET /icons/ubuntu-logo.png HTTP/1.1 200
13 192.168.12.4 NA NA 06/Dec/2024:23:56:56 +0900           GET /favicon.ico HTTP/1.1 404
14 192.168.12.4 NA NA 06/Dec/2024:23:57:04 +0900                      GET / HTTP/1.1 200
15 192.168.12.4 NA NA 06/Dec/2024:23:57:55 +0900                                <NA> 408
> Sys.timezone()
[1] "Asia/Tokyo"
> parse_date_time(tib$X4, "%d/%m/%Y:%H:%M:%S %z")
 [1] "2024-12-06 14:51:07 UTC" "2024-12-06 14:51:07 UTC" "2024-12-06 14:51:07 UTC"
 [4] "2024-12-06 14:53:49 UTC" "2024-12-06 14:53:49 UTC" "2024-12-06 14:53:49 UTC"
 [7] "2024-12-06 14:54:23 UTC" "2024-12-06 14:54:23 UTC" "2024-12-06 14:54:23 UTC"
[10] "2024-12-06 14:55:14 UTC" "2024-12-06 14:56:56 UTC" "2024-12-06 14:56:56 UTC"
[13] "2024-12-06 14:56:56 UTC" "2024-12-06 14:57:04 UTC" "2024-12-06 14:57:55 UTC"
> parse_date_time(tib$X4, "%d/%m/%Y:%H:%M:%S %z", tz = "Asia/Tokyo")
Date in ISO8601 format; converting timezone from UTC to "Asia/Tokyo".
 [1] "2024-12-06 23:51:07 JST" "2024-12-06 23:51:07 JST" "2024-12-06 23:51:07 JST"
 [4] "2024-12-06 23:53:49 JST" "2024-12-06 23:53:49 JST" "2024-12-06 23:53:49 JST"
 [7] "2024-12-06 23:54:23 JST" "2024-12-06 23:54:23 JST" "2024-12-06 23:54:23 JST"
[10] "2024-12-06 23:55:14 JST" "2024-12-06 23:56:56 JST" "2024-12-06 23:56:56 JST"
[13] "2024-12-06 23:56:56 JST" "2024-12-06 23:57:04 JST" "2024-12-06 23:57:55 JST"
> dttm <- parse_date_time(tib$X4, "%d/%m/%Y:%H:%M:%S %z", tz = "Asia/Tokyo")
Date in ISO8601 format; converting timezone from UTC to "Asia/Tokyo".
> class(dttm)
[1] "POSIXct" "POSIXt"

上記のとおりparse_date_time関数は読み込んだ日付時刻を強制的にUTCと判断して変換する。そのため、読み込む際には明示的にタイムゾーンを指定する必要がある。変換された日付時刻型ベクトルのクラスはPOSIXctである。

「ファイルの入出力」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • R_excel_sheets1.png
  • R_excel_sheets2.png
  • R_read_excel1.png
  • R_read_excel2.png
R入門
記事メニュー

メニュー

  • トップページ
  • Rとは
  • Rを使ってみる
  • 画面出力と入力
  • 変数とオブジェクト
  • ベクトル
  • 演算子と制御構文
  • 数と式
  • 文字と文字列
  • 正規表現
  • 日付と時刻
  • データフレーム
  • tidyverse
  • リスト
  • ファイルの入出力
  • ファイル・ディレクトリ
  • 実行とデバッグ
  • 数学
  • 行列
  • 関数
  • 統計学
  • 統計解析
  • 数値計算
  • 応用
  • 時系列解析
  • 地理空間情報
  • Rの操作
  • データベース
  • パッケージ

  • 環境
  • インターネット
  • 作図
  • 画像

  • 本の計算を再現
  • セイバーメトリクス
  • その他


ここを編集
記事メニュー2

更新履歴

取得中です。

ここを編集
人気記事ランキング
  1. 日付と時刻
  2. 変数とオブジェクト
もっと見る
最近更新されたページ
  • 14日前

    データフレーム
  • 17日前

    リスト
  • 41日前

    行列
  • 44日前

    tidyverse
  • 81日前

    インターネット
  • 93日前

    日付と時刻
  • 93日前

    応用
  • 93日前

    文字と文字列
  • 110日前

    変数とオブジェクト
  • 153日前

    その他
もっと見る
人気記事ランキング
  1. 日付と時刻
  2. 変数とオブジェクト
もっと見る
最近更新されたページ
  • 14日前

    データフレーム
  • 17日前

    リスト
  • 41日前

    行列
  • 44日前

    tidyverse
  • 81日前

    インターネット
  • 93日前

    日付と時刻
  • 93日前

    応用
  • 93日前

    文字と文字列
  • 110日前

    変数とオブジェクト
  • 153日前

    その他
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. R.E.P.O. 日本語解説Wiki
  3. シュガードール情報まとめウィキ
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. SYNDUALITY Echo of Ada 攻略 ウィキ
  6. ソードランページ @ 非公式wiki
  7. 星飼いの詩@ ウィキ
  8. ドラゴンボール Sparking! ZERO 攻略Wiki
  9. GTA5 MADTOWN(β)まとめウィキ
  10. シミュグラ2 @ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  6. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  7. 発車メロディーwiki
  8. 検索してはいけない言葉 @ ウィキ
  9. MadTown GTA (Beta) まとめウィキ
  10. オレカバトル アプリ版 @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  3. 金 - アニヲタWiki(仮)
  4. 868 - ストグラ まとめ @ウィキ
  5. シャア専用ヅダ - アニヲタWiki(仮)
  6. ジロリアンコピペ - ラーメン二郎 wiki
  7. モンスター一覧_第2章 - モンスター烈伝オレカバトル2@wiki
  8. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  9. ロスサントス警察 - ストグラ まとめ @ウィキ
  10. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.