トップ 一覧 検索 ヘルプ RSS ログイン 印刷

read.csv()の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!CSVファイルを読み込む

Rで扱うデータを入手するには、CSV形式で入手することをお勧めする。

仮に壊れていた場合に、エディタで簡単に内容を見たり補正できるし、データ容量が小さい。

エクセルファイルも扱えなくはないが、仮に壊れていたらそれで終わりであり、データの中の式やタブなどの扱いがとても面倒なので、やめたほうが良い。

 #CSVファイルを読み込む
 read.csv("filename.csv", sep=',', header=T)

オプションは他にもあるが、とりあえず上記が標準的な方法である。
* sep=','  データの区切り記号の指定
* header=T  データの最初の行がヘッダ行になっているときTRUE

文字コードが異なるときには文字化けしてエラーが出ることがある。

その際には、文字コードをオプションで指定する。
* fileEncoding = 'Shift_JIS'
* fileEncoding = ''cp932'

Eは大文字。

なお、CSVファイルの存在箇所が深いディレクトリにあるような場合には、WindowsのExplorerを使ってファイルを探して指定するfile.choose()を利用するとよい。

 f <- file.choose()
 read.csv(f)

!表計算からクリップボード経由で読み込む

エクセルファイルなどを開いていて、さっとRで処理したくなる時に、いちいちCSVに落として・・・とやっているのはじれったい。そこはサクッとやりたくなる。
クリップボードに表を読み込んで、Rから読み取る方法がある。

 x = read.csv("clipboard", header=T, sep="\t")

これで、クリップボードに読み込んだエクセルシートを簡単に読み込むことができる。

なお、header=Tは当然にヘッダがある場合にTだが、単純にデータを読む場合には不要ないしheader=Fとする。

また、'''sep="\t"'''はクリップボード上のデータがタブ区切りになっている(私の場合)ときであり、まずは'''sep=\t'''なしでお試しデータを数行だけ読み込んでみると、一行ずつフィールドなしのデータが読み込まれるので、そこで区切り文字を判別すればよい。
また、'''sep="\t"'''はクリップボード上のデータがタブ区切りになっている(私の場合)ときであり、まずは'''sep=”\t”'''なしでお試しデータを数行だけ読み込んでみると、一行ずつフィールドなしのデータが読み込まれるので、そこで区切り文字を判別すればよい。

:参照:
* file.choose()
* read.table()

{{category ファイル操作, データ読み込み}}