RとRStudioをインストールしてみる

f:id:ts0818:20210206213841j:plain

toyokeizai.net

Clubhouseはアカウントが電話番号と紐づけられ、その点は犯罪の抑止力になるだろうが、犯罪やトラブル、情報漏洩などが起きた場合、「記録を残してはいけない」という規約が調査を難航させる恐れがある。

中毒者が続出の「クラブハウス」に潜む大問題 | メディア業界 | 東洋経済オンライン | 経済ニュースの新基準

⇧ 何て言うか「記録を残してはいけない」って...

警察なんかの貴重なリソースの枯渇に繋がりそうで最悪ですな...

まぁ、記録に残らないんでは、言った言わない論争とかも起きそうなので、敬遠しちゃうよね。

というわけで、今回は、「R」についてとかです。

レッツトライ~。

 

Rって?日本語だと「R言語」とも呼ぶそうな

Rの公式のサイトっぽい?の説明だと、 

www.r-project.org

R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS. To download R, please choose your preferred CRAN mirror.

https://www.r-project.org/

www.r-project.org

R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.

https://www.r-project.org/about.html

⇧ ってな感じで、「統計計算」と「グラフィック」 のための言語と環境ってことですと。

日本語版のWikipediaだと、 

R言語(あーるげんご)はオープンソースフリーソフトウェア統計解析向けのプログラミング言語及びその開発実行環境である。ファイル名拡張子は.r, .R, .RData, .rds, .rda。

R言語 - Wikipedia

R言語ニュージーランドオークランド大学Ross IhakaRobert Clifford Gentlemanにより作られた。現在ではR Development Core Team によりメンテナンスと拡張がなされている。

R言語 - Wikipedia

R言語ソースコードは主にC言語FORTRAN、そしてRによって開発された。

R言語 - Wikipedia

なお、R言語の仕様を実装した処理系の呼称名はプロジェクトを支援するフリーソフトウェア財団によれば『GNU R』であるが、他の実装形態が存在しないために日本語での慣用的呼称に倣って、当記事では、仕様・実装を纏めて適宜にR言語や単にR等と呼ぶ。

R言語 - Wikipedia

⇧ ってなってますと。

いやいや、「R言語」と「R」って同じものを指してるんだとしたら、「R」に統一しなさいよ!っていうツッコミをいれたくなるんだが...

何でわざわざ認識齟齬を生みやすくなるような方向へ進むのかね...

あと、「R」は、

インタプリタ言語であることから、R言語の処理速度は不当に低く評価されることが多い。

R言語 - Wikipedia

⇧ ということのようです。

PHPPythonと同じくインタプリタ言語で、且つ、静的型付け言語っぽいので、変数の宣言時に「データ型」を指定しない感じなので、変数にどんな値が入ってるか分かり辛いというね...

おかげさまで、早速、泥沼にハマったんだけどね、それは別の機会に記事にしたいかと。

 

Rをインストール

というわけで、インストールしてみますか。

ちょっと、分かり辛いんですが、https://www.r-project.org/ の「Download」の「CRAN」のリンクを押下から、

f:id:ts0818:20210206134000p:plain

https://cran.r-project.org/mirrors.html にページ遷移したら、「0-Cloud」の「https://colud.r-project.org」を押下から、

f:id:ts0818:20210206134244p:plain

以下のページに遷移するので、 

cloud.r-project.org

 

特にバージョンの指定とかなければ、ご自分の利用してる環境に合わせたインストーラーをダウンロードします。(自分はWindows 10 Home 64bit版を利用してるので「Download R for Windows」をダウンロードしてます。)

f:id:ts0818:20201229140103p:plain

ちなみに、最新バージョンじゃないものをダウンロードしたい場合は、下のほうにスクロールすると、旧バージョンのRがダウンロードできるっぽいけど、

f:id:ts0818:20210206135513p:plain

f:id:ts0818:20210206135720p:plain

f:id:ts0818:20210206135758p:plain

⇧ 見た感じ、圧縮が「tar.gz」なんで、Windows向けでは無さそうね...

Windows向けの旧バージョンが欲しい場合は、https://cran.r-project.org/mirrors.html のページの「windows old release」ってリンクから、

f:id:ts0818:20210206140036p:plain

適当な「regons」からダウンロードしてくれってことみたいね。日本だと「jp」になって、

f:id:ts0818:20210206140359p:plain

ダウンロード先として候補が2つのみっぽい。韓国は5つとかあるところを見ると、日本は意識低い系ですかね...

日本が「IT後進国」となってるのもうなずけますな(涙)。

f:id:ts0818:20210206140550p:plain


 話が脱線しましたが、ダウンロードの続きで、「install R for first time.」のリンクを押下から、

f:id:ts0818:20201229140213p:plain

「Download R x.x.x for Windows」のリンクを押下。f:id:ts0818:20201229140319p:plain

インストーラーがダウンロードできたら、インストーラーを起動で。 

f:id:ts0818:20201229140353p:plain

インストーラーが起動されたら、「日本語」を選択で「OK」。 

f:id:ts0818:20201229140448p:plain

「次へ(N)>」を押下。 

f:id:ts0818:20201229140539p:plain

特にこだわりがなければ、「インストール先」はデフォルトの状態でOKかと。「次へ(N)>」を押下。 

f:id:ts0818:20201229140630p:plain

このあたりも私はデフォルトの状態です。「次へ(N)>」を押下。

f:id:ts0818:20201229140726p:plain

ここも私はデフォルトの状態としました。「次へ(N)>」を押下。

f:id:ts0818:20201229140805p:plain

ここもデフォルトの状態としました。「次へ(N)>」を押下。 

f:id:ts0818:20201229140841p:plain

ここもデフォルトの状態。「次へ(N)>」を押下。

f:id:ts0818:20201229141328p:plain

f:id:ts0818:20201229141356p:plain

「完了(F)」を押下。

f:id:ts0818:20201229141441p:plain 

 

RStudioをインストール

で、R向けの統合開発環境IDE:Integrated Development Environment)っぽいものがあるらしく、「RStudio」ってのが有名らしいんで、インストールしていきたいと思います。

rstudio.com

⇧ 上記サイトにアクセスしたらば、ページの下の方にスクロールしていくと、

f:id:ts0818:20201229143309p:plain

「RStudio Desktop」って項目があるので、「Open Source Edition」 の「DOWNLOAD RSTUDIO DESKTOP」ってボタンを押下。

f:id:ts0818:20201229143424p:plain

ページ遷移後、ページの下の方にスクロールし、 

f:id:ts0818:20201229141644p:plain

「Free」の「DOWNLOAD」ボタンを押下。

f:id:ts0818:20201229141751p:plain

ご自分の環境に合わせたインストーラーを選択してください。(私は、Windows 10 Home 64bit版を利用しているので、「RStudio-x.x-xxxx.exe」をダウンロードしてます。) 

f:id:ts0818:20201229141944p:plain

インストーラーがダウンロードできたら、インストーラーを起動で。 

f:id:ts0818:20201229142026p:plain

 インストーラーが起動されたら、「次へ(N)>」を押下。

f:id:ts0818:20201229142107p:plain

 特にこだわりがなければ「インストール先 フォルダ」はデフォルトの状態でOKかと。(ご自身の開発環境に合わせてください)

「次へ(N)>」を押下。

f:id:ts0818:20201229142139p:plain

このあたりもデフォルトの状態でOKかと。(ご自身の開発環境に合わせてください)

「インストール」を押下で。

f:id:ts0818:20201229142224p:plain

f:id:ts0818:20201229142251p:plain

「完了(F)」を押下で。

f:id:ts0818:20201229142337p:plain

Windowsの場合は、Windowsボタンをクリックすると、プログラムが選択できるので、「RStudio」を起動してみます。 

f:id:ts0818:20201229142425p:plain

起動されました。初回起動時にダイアログが出てきたら「Yes」で良いかと。(不具合とか出たら報告して欲しい、っていうような感じですかね。) 

f:id:ts0818:20201229142542p:plain

RStudioの「Console」で「demo("graphics")」とか入力して、「Enterキー」を押下すると、 

f:id:ts0818:20201229143009p:plain

ってな感じで、「Enterキー」の押下を促されるので、「Enterキー」を押下していくと、

f:id:ts0818:20210206143601p:plain

どんなグラフが描画できるのかをデモンストレーションしてくれるっぽいです。

RStudioの「Plots」ってところに結果が表示されます。

■Simple Use of Color in a Plot

> ## Here is some code which illustrates some of the differences between
> ## R and S graphics capabilities.  Note that colors are generally specified
> ## by a character string name (taken from the X11 rgb.txt file) and that line
> ## textures are given similarly.  The parameter "bg" sets the background
> ## parameter for the plot and there is also an "fg" parameter which sets
> ## the foreground color.
> 
> 
> x <- stats::rnorm(50)

> opar <- par(bg = "white")

> plot(x, ann = FALSE, type = "n")
 次の図を見るためには <Return> キーを押して下さい: 

f:id:ts0818:20210206203029p:plain

■A Sample Color Wheel

> ## A little color wheel.	 This code just plots equally spaced hues in
> ## a pie chart.	If you have a cheap SVGA monitor (like me) you will
> ## probably find that numerically equispaced does not mean visually
> ## equispaced.  On my display at home, these colors tend to cluster at
> ## the RGB primaries.  On the other hand on the SGI Indy at work the
> ## effect is near perfect.
> 
> par(bg = "gray")

> pie(rep(1,24), col = rainbow(24), radius = 0.9)
 次の図を見るためには <Return> キーを押して下さい: 

f:id:ts0818:20210206143733p:plain

■January Pie Sales

> ## We have already confessed to having these.  This is just showing off X11
> ## color names (and the example (from the postscript manual) is pretty "cute".
> 
> pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12)

> names(pie.sales) <- c("Blueberry", "Cherry",
+ 		      "Apple", "Boston Cream", "Other", "Vanilla Cream")

> pie(pie.sales,
+     col = c("purple","violetred1","green3","cornsilk","cyan","white"))
 次の図を見るためには <Return> キーを押して下さい:

f:id:ts0818:20210206143754p:plain

■Boxplots

> ## Boxplots:  I couldn't resist the capability for filling the "box".
> ## The use of color seems like a useful addition, it focuses attention
> ## on the central bulk of the data.
> 
> par(bg="cornsilk")

> n <- 10

> g <- gl(n, 100, n*100)

> x <- rnorm(n*100) + sqrt(as.numeric(g))

> boxplot(split(x,g), col="lavender", notch=TRUE)
 次の図を見るためには <Return> キーを押して下さい: 

f:id:ts0818:20210206143817p:plain

■Distance Between Brownian Motions

> ## An example showing how to fill between curves.
> 
> par(bg="white")

> n <- 100

> x <- c(0,cumsum(rnorm(n)))

> y <- c(0,cumsum(rnorm(n)))

> xx <- c(0:n, n:0)

> yy <- c(x, rev(y))

> plot(xx, yy, type="n", xlab="Time", ylab="Distance")
 次の図を見るためには <Return> キーを押して下さい: 

f:id:ts0818:20210206143838p:plain

■Colored plot

> ## Colored plot margins, axis labels and titles.	 You do need to be
> ## careful with these kinds of effects.	It's easy to go completely
> ## over the top and you can end up with your lunch all over the keyboard.
> ## On the other hand, my market research clients love it.
> 
> x <- c(0.00, 0.40, 0.86, 0.85, 0.69, 0.48, 0.54, 1.09, 1.11, 1.73, 2.05, 2.02)

> par(bg="lightgray")

> plot(x, type="n", axes=FALSE, ann=FALSE)
 次の図を見るためには <Return> キーを押して下さい:     

f:id:ts0818:20210206204932p:plain

■A filled histogram

> ## A filled histogram, showing how to change the font used for the
> ## main title without changing the other annotation.
> 
> par(bg="cornsilk")

> x <- rnorm(1000)

> hist(x, xlim=range(-4, 4, x), col="lavender", main="")
 次の図を見るためには <Return> キーを押して下さい:     

f:id:ts0818:20210206144053p:plain

■A scatterplot matrix

> ## A scatterplot matrix
> ## The good old Iris data (yet again)
> 
> pairs(iris[1:4], main="Edgar Anderson's Iris Data", font.main=4, pch=19)
 次の図を見るためには <Return> キーを押して下さい: 

f:id:ts0818:20210206144116p:plain

■A scatterplot matrix(Color)

> pairs(iris[1:4], main="Edgar Anderson's Iris Data", pch=21,
+       bg = c("red", "green3", "blue")[unclass(iris$Species)])
 次の図を見るためには <Return> キーを押して下さい: 

f:id:ts0818:20210206144214p:plain

■Contour plotting

> ## Contour plotting
> ## This produces a topographic map of one of Auckland's many volcanic "peaks".
> 
> x <- 10*1:nrow(volcano)

> y <- 10*1:ncol(volcano)

> lev <- pretty(range(volcano), 10)

> par(bg = "lightcyan")

> pin <- par("pin")

> xdelta <- diff(range(x))

> ydelta <- diff(range(y))

> xscale <- pin[1]/xdelta

> yscale <- pin[2]/ydelta

> scale <- min(xscale, yscale)

> xadd <- 0.5*(pin[1]/scale - xdelta)

> yadd <- 0.5*(pin[2]/scale - ydelta)

> plot(numeric(0), numeric(0),
+      xlim = range(x)+c(-1,1)*xadd, ylim = range(y)+c(-1,1)*yadd,
+      type = "n", ann = FALSE)
 次の図を見るためには <Return> キーを押して下さい:     

f:id:ts0818:20210206144251p:plain

■Conditioning plots

> ## Conditioning plots
> 
> par(bg="cornsilk")

> coplot(lat ~ long | depth, data = quakes, pch = 21, bg = "green3")
 次の図を見るためには <Return> キーを押して下さい:   

f:id:ts0818:20210206144333p:plain

ちなみに、描画されたグラフは、「Plots」タブにある

f:id:ts0818:20210206145408p:plain 1つ前に戻る

f:id:ts0818:20210206145426p:plain 1つ先に進む

を選択することで確認することができます。

f:id:ts0818:20210206145308p:plain

ネットの情報を見た感じ、「RStudio」は以下のように4つのブロックで使い分けていく感じになるみたいね。(キャプチャ画像に記載された赤字以外にもいろいろ機能はあるので、キャプチャ画像の赤字は一例という感じで)

f:id:ts0818:20210206150851p:plain

⇧ 今回は、「コンソール」で直接実施してたけど、普通は、拡張子が「.R」とかのファイルを「エディタ」で開いてコーディングしてくような感じになるかと。

これで、Rを学習する環境が整いましたかね。

今回はこのへんで。