2017/10/14

Rにおいてread.csv()を使う場合のTips

LibreOffice Calcを使って入力した情報をグラフ化する場合にRを利用しています。グラフ化する機能はCalcにもあるのですが、WYSIWYG的な操作方法が好きになれないのでRを使っています。入力したシートをUTF-8エンコーディングのCSVでファイルに出力し、そのファイルをRで読み込んでグラフ化します。

RでCSVファイルを読み込むにはread.csv()を使います。いろいろとオプションが用意されていますが、簡単に使ってみるには以下のようにします。
foo <- read.csv("foo.csv")

こんな感じで今まで使用していたのですが、問題が発生しました。
  1. 1行目にはヘッダ情報として各列の項目名が日本語で指定されていたのですが、 文字化けしてしまう。
  2. 各列の項目名をグラフ化した時にlegend()で使おうとしたら、うまく扱えない。

まず1番目の問題は、CSVを読み込むときにファイルエンコーディングを指定する必要があるようです。「RのUTF-8で漢字などが入っている場合read.tableができない」という情報が役に立ちました。要するに「encoding="UTF-8"」を明示的に指定しておきます。

2番目の問題は「stringsAsFactors=F」を指定すれば良いようです。これは「Factor型になってしまいがちな文字列型のデータフレームの列を戻す」を参考にしました。

これらのオプションを指定することで意図していたようにCSVファイルを読み、グラフを出せました。

0 件のコメント:

コメントを投稿