R 学習:ファイル入出力

2012-09-03 :  PCクリニック
テーマ:物理、化学、VM、Linux、IE、Firefox、Safari、IT関連。
本文の前に、
-・・・ -・-
blogramのランクインカテゴリについて、
昨日、
11:20頃には「物理」がスコア変わらずでランク・ダウン(8位から9位)
でも、12:30頃には「物理」がスコア・アップでランク・アップ(7位に)
また「医薬品」もスコア・アップでランク・アップ(9位から8位)
今朝方は、大きく下がった。
「Mozilla Firefox」がスコア・ダウンでランク・ダウン(4位から6位)
「化学」もスコア・ダウンでランク・ダウン(7位から8位)
「医薬品」もスコア・ダウンでランク・ダウン(8位から9位)
更に、08:40頃には
「立命館大学」がスコア変わらずでランク・ダウン(2位に)
「電波法」もスコア変わらずでランク・ダウン(3位から4位)
結果、
ランクの数は、9、9、2、3、0、 1、1、1、1、1(42)で、
換算ポイントは、191pt にまで大幅に低下。
・-・ - -・

さて、本文。

このところ、毎日のように
R の学習」です。


今回は、ファイル入出力関連の関数の纏め。と云うか手順について。・・・備忘録。

最初に、
ディレクトリについては、
R:これまでのまとめ
で書いたが、
  cwdを取得するのは、「getwd()」関数で、
  設定は、「setwd('F:/Rtest/prog')」の様にする。


1.ファイルのオープン/クローズ/削除

  IN <- file( "hogehoge" , "rt" )
で、"hogehoge"ファイルをテキストモードでリードオープンする。
オープンモードは、"rb"、 "wt"、 "wb"、 "at"、 ・・・

クローズは、
  close ( IN )

で、ファイルの削除は、
  unlink ( "temp.dat" )
とか。これは、「Perl」なんかと一緒。


2.テキストファイルの読み込み

本来ならば、read.tableによる読み込みとか、
関数scanによる読み込みだったり、
csvファイルなら、read.csvを使うところでしょうが、
<紙>はひねくれ者(?)かナ?
「readLines」関数です。

  x <- readLines ( IN , 1 )
これで、一行読み込める。
第2パラメータで読み込み行数を指定する。(-1 とすると残り全行)
読み込むと、1つの文字列(string)となる。

それで、タブ区切りなら、
  xV <- as.numeric ( unlist ( strsplit ( x , "\t" ) ) )
とかで、数値のベクトルとなる。

「strsplit」は「文字列」を「文字列リスト」に分解する関数。
(第2パラメータで区切り文字を指定)

「unlist」は「リスト」を「ベクトル」に変換する関数。

「as.numeric」は、文字列(ベクトル)を数値(ベクトル)に変換する関数。

以上(2行)で、(数値データだけのテキスト)ファイルから1行分読み込んで、
数値ベクトル(xV)ができる。


3.テキストファイルの書き出し

これも、write関数やwrite.table関数なのか?
でも、<紙>は「writeLines」関数で。

  writeLines ( w , OT )
とすると、(テキストモードでオープン済みの) OT に対して、
文字列 w が書き出される。
(改行文字は自動的に付加される)

それで、例えば、上記の数値ベクトル xV をカンマ区切りで文字列に変換するのは、
w <- paste( xV , collapse="," )
と、「paste」関数を使う。

また、2つの文字列( x1 と x2 )をカンマ区切りで結合した1つの文字列にするには、
  w <- paste( x1 , x2 , sep="," )
の様にする。
(もし、x1 や x2 が数値だったら、文字列に変換してくれる)


4.バイナリファイルの読み込み

「readBin」関数を使う。

  w <- readBin ( IN , raw() , 4 )
は4バイトの読み込み。

  w <- readBin ( IN , int() , 2 )
は2つのint型データの読み込み。

  w <- readBin ( IN , double() , 50 )
だと、50個のdouble型データの読み込み。
(結果は数値ベクトルになっている)

Windows マシンの FORTRAN で書き出したdouble型データも
キチンと読めました。


5.バイナリファイルの書き出し

未学習



もっともっと勉強しよう。


オ ソ マ ツ で し た。   <(_ _)>


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン

日記@BlogRanking    
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク