Rにcsvファイルを読み込む

1ページ 2ページ 3ページ

サンプルのダウンロード

サンプルデータで練習してみましょう。まずは下のエクセルファイル(csvファイル) set01 をPCにダウンロード。

ファイルの読み込みは、最初の難関です。慣れるまではStep1Step6をコピペして実行されることをお薦めします。特にstep6のパッケージのダウンロード先も指定しておいた方が後々便利です。

フォルダの指定とcsvファイルの読み込み

Step1: Rのリセット

以下のコードをRにコピペすると、Rがリセットされます。残っている全てのオブジェクト(ベクトル、リストなど)を削除します。

R
rm(list = ls(all.names = TRUE))
Step2: 作業するフォルダの指定(Rでは作業ディレクトリと言います)

作業ディレクトリとして「yoshidaのデスクトップにある練習用のフォルダ」を指定する方法を紹介します。

R
#Windowsの場合
setwd("C:/Users/yoshida/Desktop/練習用")

#Macの場合
setwd("/Users/yoshida/Desktop/練習用")

R3.2.0より以前のバージョンでパスを記述する場合には、 バックスラッシュを2回(が2つ)書かなければなりません。

R
setwd("C:\\Users\\yoshida\\Desktop\\練習用")
Step3: 作業するフォルダの確認

以下の関数でstep2で指定したフォルダの場所を確認することができます。step2の例のように設定したら、“C:\Users\yoshida\Desktop\練習用”と出力されます。

R
getwd()

デスクトップを作業フォルダに設定している場合には、以下のように表示されます。

練習用フォルダの中の確認
指定したフォルダの中に、サンプルデータ set01 を入れてください。また、練習用フォルダにファイル名「R練習用」のテキストファイルを入れてみてください。

R
list.files()
Step4: CSVファイルの読み込み

以下のコードをコピペしたら、ダウンロードした set01 をdataの中に格納することができます。この操作で、dataがデータフレームになります。

R
data <- read.csv("set01.csv", header = T, fileEncoding = "UTF-8")

文字化けなどが出て、うまくいかない場合は、fileEncoding を以下に変更してください。

R
fileEncoding = "Shift-JIS" 

文字エンコーディングの規格は、UTF-8が世界標準になってきてるようです。UTF-8Shift-JIS の規格の違いについては、ネット検索またはChatGPT様に尋ねてみてください。

プロンプト
read.csvとread_csvの違いを教えてください

read.csv(utilsパッケージ)
Rの標準パッケージでutilsから提供。文字列はfactor型として読み込まれる(stringsAsFactors = TRUEがデフォルト設定であったが、R 4.0.0以降はstringsAsFactors = FALSEがデフォルトとなる)。区切り文字はカンマ(,)がデフォルト。ファイルのエンコーディングを指定は、fileEncoding。ヘッダー行があることを仮定(header = TRUEがデフォルト)。
read_csv(readrパッケージ)
read_csvはreadrパッケージに属する。tidyverseに含まれる。read_csvはデフォルトで文字列を文字列のまま読み込む(stringsAsFactorsオプションなし)。通常、read_csvの方がread.csvよりも読み込みが速いとされている。ファイルのエンコーディングはlocaleの引数を通じて設定。ヘッダー行があると仮定しますが、より多くの現代的なデータ処理機能を持っている。

Step5: CSVファイルが読み込まれたことを確認

以下のコードで set01 が格納されているdataの先頭の6行が表示されます

R
head(data)

CSVファイルの先頭6行が表示されれば成功です

データフレームを確認

R
View(data)
Step6: パッケージのダウンロード先の指定

パッケージをインストールして保管するフォルダを作成します。これから多くのパッケージをインストールすることになるので、同じフォルダに入るように指定しておきます。Rを更新したときも同じ場所から起動することができます。例えば・・・「yoshidaのドキュメントのパッケージ用」であれば、、、

R
#Windows
.libPaths("C:/Users/yoshida/Documents/パッケージ用")
#Mac
.libPaths("/Users/yoshida/Documents/パッケージ用")

R3.2.0より以前のバージョンでは バックスラッシュを2回(が2つ)書かなければなりません。

R
.libPaths("C:\\Users\\yoshida\\Documents\\パッケージ用")

コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください

タイトルとURLをコピーしました