Update 2022.11.11 2022.07.07

R 4.2.1 Rでデータセットを読み込むあらゆる方法
CSV, TSV, SSV, read.csv, read_csv, read.csv2, read_csv2,
read.delim, read_delim, read.table, read_table, read.fwf, read_fwf
読み込む表data.frame, tibbleの列を因子型に変換したあと対照を指定
Rスクリプト,R Markdown on RStudio,R on Jupyter Notebook

テキストの内容の詳細は下に表示されているR on Jupyter Notebook,R Markdown on RStudioを参照してください。

・IDE(統合開発環境)RStudio(アールスタジオ)上でRスクリプトをrunさせる
・IDE:RStudio上でR markdownをrunさせる
・Jupyter Notebook for R上で,R(ipynbファイル)をrunさせる

Rスクリプト,R Markdown on RStudio,R on Jupyter Notebookのそれぞれのファイルは左上隅からダウンロードできます。

Rで扱う表:data.frame, tibble, data.table

data.frame:Rの標準

tibble:tidyverseの標準

data.table:バカでかい表を扱うときに使う(ここでは扱わない)

data.frame, tibbleの違い

tibbleには,行名を付けられない。data.frameのロングフォーマットにも行名は付いていないので,互換として扱える。ワイドフォーマットに行名が付いている場合は,行名に列名を付けることで互換になる。さらに,ロングフォーマットに変換すれば互換性はさらに上がる。

大きな表を一覧したときに,data.frameでは画面をはみ出すが,tibbleでは,整理されて上手く画面に収まる。

この記事では,多くの表の読み込みを紹介するが,read文によってデフォルトで形式がdata.frametibbleのどちらかになるかが決まる。が,そのままにしておいても形式専用の命令文を使わない限り問題はでない。


文字コードと文字化け対策

文字コードとは

数字,アルファベット,ひらがな,カタカナ,漢字(など世界中の文字)の1文字ごとに割り当てる1~3バイトの数値である。割り当てるのは正確には2進コードであるが,慣例として4ビット区切りの16進数として読む。

文字に数値を割り当てる方法は世界中に何種類もあるが,パソコンの世界では,WindowsのデフォルトとUNIX系のMac OS, Linuxのデフォルトだけ理解してればよい。また,具体的な数値の割り当てを覚える必要なない。

実際のファイルの文字コード

1バイト文字(いわゆるアルファニューメリック)は,UTF-8Shift-JISとでは区別されない(昔のAsciiであるから)。したがって,1バイト文字だけを使うデータファイルは文字化けをおこさない。(『重要な注意』これは世界標準です)

PythonR言語などすべての開発環境,開発ツールの文字コードのデフォルトを必ずUTF-8にする(WindowsMac OS, Linuxも)。『重要な注意』R 4.2.1からデータファイルのデフォルトがUTF-8(BOMなし)になりました。

Excel for WindowsExcel for MACのデフォルトはShift-JISです。Windowsでは,他のアプリもShift-JISなので文字化けを起こさないが,R言語の開発環境,開発ツールに読み込むと文字化けを起こす。MACでは,他のアプリはUTF-8なので常に文字化けを起こす(例:サーチコンソールCSVをExcelで読み込む)。

文字化け対策

① ソースコードファイルデータファイルもその名称は1バイト文字だけを使う(WindowsMac OS, Linuxも読込可となる)。

② すべてのデータファイルの内容も原則1バイト文字だけを使う。

③ やむを得ず,日本語を使う場合は,Excel for WindowsまたはExcel for MACで作成した場合はテキストエディタで文字コードをUTF-8に替える。または,UTF-8のままGoogleスプレッドシートを使うのが良い。

④ 他のアプリとの互換性の関係で日本語のShift-JISを使う場合は,文字コードを指定して読み込む。データファイルを授受する場合は,文字コードを明示する。


R on Jupyter Notebook(拡張子.ipynb)


R Markdown on RStudio(拡張子.Rmd)


トップページに戻る
inserted by FC2 system