サンプルのダウンロード
サンプルデータで練習してみましょう。まずは下のエクセルファイル(csvファイル) set01 をPCにダウンロード。
ファイルの読み込みは、最初の難関です。慣れるまではStep1~Step6をコピペして実行されることをお薦めします。特にstep6のパッケージのダウンロード先も指定しておいた方が後々便利です。
フォルダの指定とcsvファイルの読み込み
Step1: Rのリセット
以下のコードをRにコピペすると、Rがリセットされます。残っている全てのオブジェクト(ベクトル、リストなど)を削除します。
rm(list = ls(all.names = TRUE))
Step2: 作業するフォルダの指定(Rでは作業ディレクトリと言います)
作業ディレクトリとして「yoshidaのデスクトップにある練習用のフォルダ」を指定する方法を紹介します。
#Windowsの場合
setwd("C:/Users/yoshida/Desktop/練習用")
#Macの場合
setwd("/Users/yoshida/Desktop/練習用")
R3.2.0より以前のバージョンでパスを記述する場合には、 バックスラッシュを2回(¥が2つ)書かなければなりません。
setwd("C:\\Users\\yoshida\\Desktop\\練習用")
Step3: 作業するフォルダの確認
以下の関数でstep2で指定したフォルダの場所を確認することができます。step2の例のように設定したら、“C:\Users\yoshida\Desktop\練習用”と出力されます。
getwd()
デスクトップを作業フォルダに設定している場合には、以下のように表示されます。
練習用フォルダの中の確認
指定したフォルダの中に、サンプルデータ set01 を入れてください。また、練習用フォルダにファイル名「R練習用」のテキストファイルを入れてみてください。
list.files()
Step4: CSVファイルの読み込み
以下のコードをコピペしたら、ダウンロードした set01 をdataの中に格納することができます。この操作で、dataがデータフレームになります。
data <- read.csv("set01.csv", header = T, fileEncoding = "UTF-8")
文字化けなどが出て、うまくいかない場合は、fileEncoding を以下に変更してください。
fileEncoding = "Shift-JIS"
文字エンコーディングの規格は、UTF-8が世界標準になってきてるようです。UTF-8 と Shift-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行が表示されます
head(data)
CSVファイルの先頭6行が表示されれば成功です
データフレームを確認
View(data)
Step6: パッケージのダウンロード先の指定
パッケージをインストールして保管するフォルダを作成します。これから多くのパッケージをインストールすることになるので、同じフォルダに入るように指定しておきます。Rを更新したときも同じ場所から起動することができます。例えば・・・「yoshidaのドキュメントのパッケージ用」であれば、、、
#Windows
.libPaths("C:/Users/yoshida/Documents/パッケージ用")
#Mac
.libPaths("/Users/yoshida/Documents/パッケージ用")
R3.2.0より以前のバージョンでは バックスラッシュを2回(¥が2つ)書かなければなりません。
.libPaths("C:\\Users\\yoshida\\Documents\\パッケージ用")
コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください