5次元のカオス

南の島の学生がつらつらと日々を書き連ねます

Rをインストールしてみた

Rをインストールしてみた

学校の授業でR言語を使用する事になったので、Rの概要を学びつつ環境構築をしてみました.

余談だけど僕の通ってる学校、だいぶ学ぶ言語多い気がする...

言語の数がプログラミング能力に直結するわけじゃないのは分かるけど、色んな言語を学べるのは

純粋に楽しいと思いました.

とりあえず、以下 自分への健忘録としてメモ

Rとは?

wikipediaより引用

R言語はオープンソース・フリーソフトウェアの統計解析向けのプログラミング言語.
及びその開発実行環境である。

つまり、Rとは言語であると同時に開発実行環境のことも指すらしいです.

特徴

  • ベクトル(集合)を簡単に扱うことができる
  • 配列・リストに対する操作が簡単
  • データの解析や表示を行うグラフィック機能

など統計を行うために便利な命令がたくさん詰まっているようです.

また先人たちの残した、便利なプログラムを簡単に利用できます.

Rの導入

環境

OS       : MacOSX mavericks
Homebrew : 0.9.5
R        : version 3.0.2 (2013-09-25)

homebrewを使って導入していきます

パッケージの更新

% brew update

gfortran

gfortranが必要そうなのでインストール

% brew install gfortran

リポジトリの追加

% brew tap homebrew/science

Rのインストール

% brew install R

動作確認

R --version
R version 3.0.2 (2013-09-25) -- "Frisbee Sailing"
Copyright (C) 2013 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin12.5.0 (64-bit)

以上で導入は完了です.

パッケージの利用とプロキシの設定

どうせなので、パッケージを追加する方法とプロキシを通してみる

(学内で使用するので

パッケージのインストール

install.packages("パッケージ名")

ミラーサイトの場所を聞かれるので、japanを選択(初回のみ)

パッケージの使用

導入に成功した場合、以下のコードでライブラリを読み込めます

library(パッケージ名)

プロキシの設定

以下のコードを入力するだけです

Sys.setenv("http_proxy"="http://ホスト名:ポート番号")

2013.11.8 追記

このままで扱うと、グラフなどを描画するときに文字化けすることが分かった.

R - 事始め という記事を参考に

~/.Rprofile (無ければ作成する)に以下を記述した

setHook(packageEvent("grDevices", "onLoad"),function(...) grDevices::pdf.options(family="Japan1"))
setHook(packageEvent("grDevices", "onLoad"),function(...) grDevices::ps.options(family="Japan1"))
setHook(packageEvent("grDevices", "onLoad"),
        function(...){
            grDevices::quartzFonts(serif=grDevices::quartzFont(
                c("Hiragino Mincho Pro W3",
                   "Hiragino Mincho Pro W6",
                   "Hiragino Mincho Pro W3",
                   "Hiragino Mincho Pro W6")))
            grDevices::quartzFonts(sans=grDevices::quartzFont(
                c("Hiragino Kaku Gothic Pro W3",
                   "Hiragino Kaku Gothic Pro W6",
                   "Hiragino Kaku Gothic Pro W3",
                   "Hiragino Kaku Gothic Pro W6")))
        }
)
attach(NULL, name = "MacJapanEnv")
assign("familyset_hook",
    function() { if(names(dev.cur())=="quartz") par(family="serif")},
    pos="MacJapanEnv")
setHook("plot.new", get("familyset_hook", pos="MacJapanEnv"))

参考