[[informatics]]>データ分析
*R 入門 [#v6debdb8]
**データの入力 [#vf972982]
事前に用意した次のようなテキストファイルがあったとする。

      150 30
      154 35
      165 38
      144 28
      186 35

データをファイル( test.dat )から入力するには scan()関数 を利用する。
scan()関数 の引数には
- file="ファイル名"
- sep="区切り文字"
--空白により固定長に整形してあるデータの場合sep引数は必要ない
などがある。

なお、scan関数は、改行を区切り記号としてしか扱わない。

このため、

      >input_1 <- scan("test.dat")

として読み込むと、

      >input_1
      [1]150 30 154 35 165 38 144 28 186 35

という具合に、1つのリストとして読み込まれることになる。
ちなみに、「 <- 」というのは「付値」といって、これによって、変数 input_1 に test.dat のデータを割り当てている。

そこで、次に、指定されたデータの型のリストとして読み込むようにする。
そのためには、scan()関数の引数として list を用いる。list の型は数値の場合は0、ラベルの場合""を指定する。

      >input_1 <- scan("test.dat", list(0,0))
      >input_1
       [[1]]
      [1]150 154 165 144 186
      [[2]]
      [1]30 35 38 28 35

また、matrix()関数 を用いてデータを行列として読み込むという方法もある。

 >input_2 <- matrix(scan("test.dat"),ncol=2, byrow=T)
 >input_2
      >input_2 <- matrix(scan("test.dat"),ncol=2, byrow=T)
      >input_2
        [,1] [,2]
      [1,]  150 30
      [2,]  154 35
      [3,]  165 38
      [4,]  144 28
      [5,]  186 35


matrix() 関数の引数である ncol は列の数を意味し、byrow = T というのは行方向優先で定義するということを意味する。

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS