データ解析のための統計モデリング入門をpythonでやる(2-1)-pyper導入-
【あらすじ】
pythonで.RData形式のファイルを読むためにpyperを使えるようにした。
pythonで.RData形式のファイルを読んだ。
【内容】
1)pyper導入
データ解析のための統計モデリング入門で使われるデータは著者が公開しており、以下のページにあります。
生態学データ解析 - 本/データ解析のための統計モデリング入門
これらのデータはRで使われるデータ形式である.RDataなので、そのままpythonで読めません。
というわけで、pythonからpyperを使ってRを操作して読んでいきます。
pip install pyper
pyperはpythonからRに命令を飛ばす橋渡しをするだけなので、Rをインストールしていないとpyperをimportしても使えません。
というわけでRを導入します。
普通にインストールする場合は以下のようなページを参考にしていけばいけるんじゃないですかね。
qiita.com
chocolateyを使う場合は
cinst R
でいけます。
いけますが、この方法だとPATHが通ってないっぽいのでpyper.R()をするときに呼び出し先がいないと怒られます。
その時は
pyper.R(RCMD="(Rのexeが置いてあるフォルダのパス)")
で指定してあげるとちゃんと動きます。
2).RData形式のデータを読む。
pyperで読んだ後、とりあえずpandasのSeriesに入れます。
import pyper
import pandas as pd
Rを触るためのオブジェクトを作ります。
また、このとき後でpandasとnumpyでも使えるようにしときます。
r = pyper.R(RCMD=r"(Rのパス)", use_numpy=True, use_pandas=True)
rに.RDataを読ませます。
今回はカレントディレクトリにあるdata.RDataを読ませます。
r('load("data.RData")')
data.RDataに入っている"data"という名前のデータを見たいときは
r.get("data")
とすると配列になって出てきます。
これをpandasのSeriesに入れます。
data = pd.Series(r.get("data"))
2章の一番最初のデータの要約。
In [47]: data.describe()
Out[47]:
count 50.00000
mean 3.56000
std 1.72804
min 0.00000
25% 2.00000
50% 3.00000
75% 4.75000
max 7.00000
dtype: float64
histでヒストグラムの表示。
data.hist()
見づらいのでビン範囲と幅の調整とグリッドを非表示に。
data.hist(bins=[x / 10 for x in range(5, 95, 10)], grid=False, rwidth=0.8)
満足。