Micro Economics, Econometrics, Computer Science, Computer Engineering, Macro Economics, Mathematics, Environmental Economics, Statistics, Public Policy

write.csv や write.table での表ファイルの出力、あるいはsinkを使ってのテキストファイル出力などはRでよく行うファイル出力である。
UNIXとwindowsをまたいでの出力ファイルの利用などマルチプラットフォームに対応した状況を想定している場合や、webでの利用を想定している場合には、UTF-8などの文字コードで出力したいはずだ。

Rではfile関数を利用して、ファイル名のほかに文字コードなどを指定したファイルコネクションなるものを使って、そういった文字コード出力を制御するやり方が一般的である。
やり方は次の通り。

    filename <- "C:/hogehoge/test.csv"    #ファイルネームはフルパスで
    con<-file(filename,encoding="UTF-8")    #ここでいったんfile関数を利用してencodingオプションで文字コードを指定したファイルコネクションなるものをつくる
    write.csv(data, file = con)    #たとえばwrite.csvならばfileオプションに直上でつくったconを代入する

あるいはsinkを使ってのテキストファイル出力ならば以下の通り。

    filename <- "C:/hogehoge/test2.txt"    #ファイルネームはフルパスで
    con<-file(filename,encoding="UTF-8")    #ここでいったんfile関数を利用してencodingオプションで文字コードを指定したファイルコネクションなるものをつくる
    sink(con)    #conをsink
    print("abc xyz 123")    #出力したい文字列
    sink()    #閉じる

なお、read.csvなどでUTF-8のファイルを読むときは、オプションに fileEncoding = "UTF-8" をつける。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

R

統計学

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

編集にはIDが必要です