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. 入門 統計解析 [医学・自然科学編](東京図書)
もっと見る
最近更新されたページ
  • 1日前

    リスト
  • 19日前

    行列
  • 22日前

    tidyverse
  • 60日前

    インターネット
  • 71日前

    日付と時刻
  • 71日前

    応用
  • 71日前

    文字と文字列
  • 88日前

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

    その他
  • 132日前

    画像
もっと見る
人気記事ランキング
  1. ファイル・ディレクトリ
  2. 入門 統計解析 [医学・自然科学編](東京図書)
もっと見る
最近更新されたページ
  • 1日前

    リスト
  • 19日前

    行列
  • 22日前

    tidyverse
  • 60日前

    インターネット
  • 71日前

    日付と時刻
  • 71日前

    応用
  • 71日前

    文字と文字列
  • 88日前

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

    その他
  • 132日前

    画像
もっと見る
ウィキ募集バナー
新規Wikiランキング

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

  1. MadTown GTA (Beta) まとめウィキ
  2. GTA5 MADTOWN(β)まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. SYNDUALITY Echo of Ada 攻略 ウィキ
  6. ガンダムGQuuuuuuX 乃木坂46部@wiki
  7. ドタバタ王子くん攻略サイト
  8. 星飼いの詩@ ウィキ
  9. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  10. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
もっと見る
人気Wikiランキング

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

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

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

  1. anbrella(餡ブレラ) - ストグラ まとめ @ウィキ
  2. アルフォート ウェスカー - ストグラ まとめ @ウィキ
  3. 参加者一覧 - ストグラ まとめ @ウィキ
  4. 栖家幡 華憐 - ストグラ まとめ @ウィキ
  5. キャプテン わきを - ストグラ まとめ @ウィキ
  6. アーモンド サラザール - ストグラ まとめ @ウィキ
  7. ギャング - ストグラ まとめ @ウィキ
  8. 敵情報_第2章 - モンスター烈伝オレカバトル2@wiki
  9. オザワ ハヤマサ - ストグラ まとめ @ウィキ
  10. 刃牙 りえる - ストグラ まとめ @ウィキ
もっと見る

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

2019 AtWiki, Inc.