R Language チュートリアル
R言語の使い方
サーチ…
備考
スタックオーバーフローでR Docsを編集する
ドキュメントを作成する際の一般規則のドキュメントガイドラインを参照してください。
他の言語から移住したRの特徴のいくつかは、珍しい
- 他の言語とは異なり、Rの変数は型宣言を必要としません。
- 同じ変数には、必要に応じて、異なる時点で異なるデータ型を割り当てることができます。
- 原子ベクトルとリストのインデックス付けは、0ではなく1から始まります。
- R
arrays
(および行列の特殊な場合)は、属性を持たないRの「原子ベクトル」とは別にdim
属性を持っています。 - Rのリストを使用すると、1つの名前(つまりリストの名前)でさまざまなオブジェクトを順序どおりに収集できます。これらのオブジェクトは、 行列 、 ベクトル 、 データフレーム 、 さらには他のリストなどであってもよい。これらのオブジェクトが互いに関連している必要はない。
- リサイクル
- 値がありません
Rのインストール
RStudioをインストールした後にRStudioをインストールすることもできます。RStudioは多くのプログラミング作業を簡素化するRの開発環境です。
Windowsのみ:
Visual Studio (バージョン2015 Update 3以降)には、ライブインタープリタ、IntelliSense、およびデバッグモジュールを含むR Toolsという開発環境が追加されました。この方法を選択した場合、次のセクションで指定されているようにRをインストールする必要はありません。
Windowsの場合
- CRANの Webサイトにアクセスし、R for Windowsをダウンロードし、Rの最新バージョンをダウンロードします。
- インストーラファイルを右クリックし、管理者として実行します。
- インストールに使用する言語を選択します。
- インストールの指示に従ってください。
OSX / macOSの場合
代替案1
(0. XQuartzがインストールされていることを確認してください)
- CRANのウェブサイトに行き、Rの最新バージョンをダウンロードしてください。
- ディスクイメージを開き、インストーラを実行します。
- インストールの指示に従ってください。
これにより、RとMacGUIの両方がインストールされます。 GUIを/ Applications / FolderにR.appとして配置します。ここで、ダブルクリックするか、Docにドラッグすることができます。新しいバージョンがリリースされると、(再)インストールプロセスはR.appを上書きしますが、以前のメジャーバージョンのRは維持されます。実際のRコードは/Library/Frameworks/R.Framework/Versions/ディレクトリにあります。 RStudio内でRを使用することも可能で、別のGUIで同じRコードを使用します。
代替案2
- https://brew.sh/の手順に従って、homebrew(macOSのパッケージマネージャーがない)をインストールします。
-
brew install R
2番目の方法を選択する人は、Macフォークのメンテナーがアドバイスし、R-SIG-Macメーリングリストの難しさに関する質問には反応しないことに注意してください。
Debianの場合、Ubuntuとその派生物
apt-get
使ってあなたのディストリビューションに対応するRのバージョンを入手することができます。しかし、このバージョンは、CRANで入手可能な最新バージョンよりもかなり遅れていることがよくあります。認識された「ソース」リストにCRANを追加することができます。
sudo apt-get install r-base
ソースリストにCRANを追加することで、CRANから直近のバージョンを直接入手することができます。詳細については、CRANの指示に従ってください。特にこれを実行してinstall.packages()
使用できるようにする必要があることに注意してください。 Linuxパッケージは通常、ソースファイルとして配布され、コンパイルが必要です。
sudo apt-get install r-base-dev
Red HatとFedoraの場合
sudo dnf install R
Archlinuxの場合
RはExtra
パッケージレポで直接利用できます。
sudo pacman -S r
ArchlinuxでRを使用する方法の詳細は、 ArchWiki Rページを参照してください 。
"こんにちは世界"
"Hello World!"
また、 文字列の印刷の方法、時期、印刷の理由についての詳細な説明も参照してください。
ヘルプの利用
関数help()
または?
ドキュメントにアクセスし、Rのヘルプを検索します。さらに一般的な検索を行うには、 help.search()
または??
。
#For help on the help function of R
help()
#For help on the paste function
help(paste) #OR
help("paste") #OR
?paste #OR
?"paste"
詳細については、 https://www.r-project.org/help.htmlを参照してください。
インタラクティブモードとRスクリプト
インタラクティブモード
Rを使用する最も基本的な方法は対話モードです。あなたはコマンドを入力し、すぐに結果をRから取得します。
Rを計算機として使う
次のように入力してRを起動R
ご使用のオペレーティング・システムのコマンド・プロンプトで、または実行することにより、 RGui
Windows上で。以下は、Linux上のインタラクティブなRセッションのスクリーンショットです。
これは、Windows上のRの最も基本的な作業環境であるWindows上のRGuiです。
>
記号の後に式を入力することができます。式が入力されると、結果はRで表示されます。上のスクリーンショットでは、Rが電卓として使用されています。
1+1
結果をすぐに見るには、 2
。先頭の[1]
は、Rがベクトルを返すことを示します。この場合、ベクトルは1つの数(2)しか含みません。
最初のプロット
Rを使用してプロットを生成することができます。次の例では、データセットPlantGrowth
使用しています。このデータセットは、R
##
始まっていないRプロンプトに以下のすべての行を入力してください。 ##
始まる行は、Rが返す結果を文書化するためのものです。
data(PlantGrowth)
str(PlantGrowth)
## 'data.frame': 30 obs. of 2 variables:
## $ weight: num 4.17 5.58 5.18 6.11 4.5 4.61 5.17 4.53 5.33 5.14 ...
## $ group : Factor w/ 3 levels "ctrl","trt1",..: 1 1 1 1 1 1 1 1 1 1 ...
anova(lm(weight ~ group, data = PlantGrowth))
## Analysis of Variance Table
##
## Response: weight
## Df Sum Sq Mean Sq F value Pr(>F)
## group 2 3.7663 1.8832 4.8461 0.01591 *
## Residuals 27 10.4921 0.3886
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
次のプロットが作成されます。
data(PlantGrowth)
は、2つの異なる処理条件または全く処理されていない植物(対照群)の乾燥質量の記録である、サンプルデータセットPlantGrowth
ロードする。データセットはPlantGrowth
という名前で入手できます。このような名前は変数とも呼ばれます。
独自のデータを読み込むには、次の2つのマニュアルページが役立ちます。
str(PlantGrowth)
は、ロードされたデータセットに関する情報を表示します。出力は、 PlantGrowth
が表のRの名前であるdata.frame
であることを示します。 data.frame
には2つの列と30の行が含まれています。この場合、各行は1つのプラントに対応します。 2つの列の詳細は、 $
始まる行に示されています。最初の列はweight
と呼ばれ、数値( num
、それぞれのプラントの乾燥重量)を含みます。 2列目のgroup
には、プラントが受けた処理が含まれています。これはRのfactor
と呼ばれるカテゴリデータです。 データフレームの詳細情報を参照してください 。
3つの異なる群の乾燥質量を比較するために、 anova(lm( ... ))
を用いて一方向ANOVAを行う。 weight ~ group
「列の値の比較を意味weight
、カラムの値によってグループ化し、 group
」。 Rの式と呼ばれます。data data = ...
は、データが見つかるテーブルの名前を指定します。
結果は、とりわけ、3つの群のうちのいくつかの間に有意差(Column Pr(>F)
)、 p = 0.01591
)が存在することを示す。 Tukey's Testのようなポストホックテストは、どのグループの平均が有意に異なるかを判断するために実行する必要があります。
boxplot(...)
は、データのボックスプロットを作成します。プロットされる値はどこから来るのか。 weight ~ group
意味:「列の値に対して列重みの値をプロットgroup
。 ylab = ...
y軸のラベルを指定詳細情報: ベースは、プロット
Rセッションを終了するには、 q()
またはCtrl - Dを入力します。
Rスクリプト
研究を文書化するには、計算に使用するコマンドをファイルに保存することをお勧めします。その効果のために、 Rスクリプトを作成することができます。 Rスクリプトは、Rコマンドを含むシンプルなテキストファイルです。
plants.R
という名前のテキストファイルを作成し、上記のコードブロックに慣れている次のテキストを入力します。
data(PlantGrowth)
anova(lm(weight ~ group, data = PlantGrowth))
png("plant_boxplot.png", width = 400, height = 300)
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
dev.off()
あなたのターミナルに入力してスクリプトを実行してください(前のセクションのようなインタラクティブなRセッションではなく 、オペレーティングシステムのターミナルです)。
R --no-save <plant.R >plant_result.txt
plant_result.txt
ファイルには、対話形式のRプロンプトに入力したかのように、計算結果が含まれています。これにより、計算が文書化されます。
新しいコマンドpng
とdev.off
は、 dev.off
をディスクに保存するために使用されます。上記の例に示すように、2つのコマンドはプロットコマンドを囲む必要があります。 png("FILENAME", width = ..., height = ...)
は、指定されたファイル名、幅、高さをピクセル単位で持つ新しいPNGファイルを開きます。 dev.off()
はプロットを終了し、プロットをディスクに保存します。 dev.off()
が呼び出されるまで、出力は保存されません。