京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

【R言語とWebスクレイピングとアニメーショングラフ】仮想通貨や株価変動をバー・チャート・レースで観察してみた件【その2 ダウ・ジョーンズ工業株価平均(ダウ平均)編】

はじめに

いま。。このブログは、「アニメーショングラフ」推しです。

第二弾として、ダウ・ジョーンズ工業株価平均(ダウ平均)の各銘柄の時系列データ(日足)について、「バー・チャート・レース」を作成みました。

ダウ平均は、ちょうど、30銘柄なのでバーチャートにしても見易いです。

さぁ、アニメーショングラフをやっていきましょう。

実行環境

実行環境
macOS Big Sur (バージョン11.5.2)
MacBook Air (M1, 2020)
チップ Apple M1
メモリ 16GB

Rパッケージの準備

関連のRパッケージを準備します。結構あります。 ここをスキップして、以下のスクリプトを読み込むのでもOKです。

#パッケージ・インストール
pack <- c("rvest", "quantmod", "magrittr", "purrr", "tidyr", "ggplot2", "treemapify", "gganimate", "gapminder", "gifski")
install.packages(pack[!(pack %in% unique(rownames(installed.packages())))])

#ロード
for(n in 1:length(pack)){ eval(parse(text = paste0("library(", pack[n], ")"))) }; rm("n")

getDJIA.Rスクリプトを読み込んでも、Rパッケージがインストールできます。

同時に、今回使用する、getDJIA_list、DJIA_ChartData、DJIA_ChartData_mod、DJIA_animationといった関数群を読み込みます。各関数は、ダウ平均の30銘柄用に調整しています。

#関連関数群の読み込み
source("https://gist.githubusercontent.com/kumeS/b4c2a978b31dbe5fc3cb41c4d3e0b6ef/raw/95aefe669ef0ffcccec87e85a87e0d225d73cc71/getDJIA.R")

ではでは、早速、実行してみましょう。

ダウ平均銘柄のデータ取得

ダウ平均のウィキペディアページ

まず、getDJIA_list関数では、ウェブスクレイピングを介して、ウィキペディアの該当ページからダウ平均の銘柄リストを取得します。

ダウ平均の30銘柄の情報

ダウ平均の30銘柄の情報は、この表から取得します。シンボルやセクター情報も含まれます。

それでは、次に、DJIA_ChartData関数でデータを取得します。

#Wikipediaページからダウ平均銘柄リストを取得する
DJIAList <- getDJIA_list()

#表示
head(DJIAList)
#           Company Exchange Ticker                  Sector
#1               3M     NYSE    MMM            Conglomerate
#2 American Express     NYSE    AXP      Financial services
#3            Amgen   NASDAQ   AMGN       Biopharmaceutical
#4            Apple   NASDAQ   AAPL  Information technology
#5           Boeing     NYSE     BA   Aerospace and defense
#6      Caterpillar     NYSE    CAT Construction and Mining

#銘柄のセクター数
table(DJIAList$Sector)

#ダウ平均のデータ取得: 実行時間 2分くらい
ChartData <- DJIA_ChartData(Dat=DJIAList, term=c("2022-01-01", "2022-12-31"))

#いったん、RDS保存
saveRDS(ChartData, "DJIA_ChartData.Rds")
#ChartData <- readRDS("DJIA_ChartData.Rds")

#または、DJIA_ChartData.Rdsをダウンロードできるようにもしています。
#system("which svn")
#system("svn export  https://github.com/kumeS/Blog/trunk/R_BarChart/DJIA_ChartData.Rds")

#表示
head(ChartData)
#           Company Ticker                  Sector       date close dclose dclose2 ranking
#1               3M    MMM            Conglomerate 2022-01-03   100      0 #F0F5F0       1
#2 American Express    AXP      Financial services 2022-01-03   100      0 #F0F5F0       2
#3            Amgen   AMGN       Biopharmaceutical 2022-01-03   100      0 #F0F5F0       3
#4            Apple   AAPL  Information technology 2022-01-03   100      0 #F0F5F0       4
#5           Boeing     BA   Aerospace and defense 2022-01-03   100      0 #F0F5F0       5
#6      Caterpillar    CAT Construction and Mining 2022-01-03   100      0 #F0F5F0       6

このステップで、ダウ平均の30銘柄のリストとデータが取得できました。

ダウ平均銘柄でのバー・チャート・レース

ダウ平均銘柄のバー・チャート・レース作成

次に、ダウ平均銘柄のデータを使って、バー・チャート・レースを作成します。

DJIA_ChartData_mod関数で、ダウ平均の全銘柄のデータフレームにします。この関数で、rankingという列データを作成します。その後、DJIA_animation関数を実行して、チャート設定をします。また、日本語設定も別途します。

#データ補正: 全銘柄を取得する
ChartData1 <- DJIA_ChartData_mod(ChartData)

#表示
head(ChartData1)
#    Company Ticker       Sector CompanyTicker     CompanySector       date
#1        3M    MMM Conglomerate      3M (MMM) 3M (Conglomerate) 2022-01-03
#31       3M    MMM Conglomerate      3M (MMM) 3M (Conglomerate) 2022-01-04
#61       3M    MMM Conglomerate      3M (MMM) 3M (Conglomerate) 2022-01-05
#91       3M    MMM Conglomerate      3M (MMM) 3M (Conglomerate) 2022-01-06
#121      3M    MMM Conglomerate      3M (MMM) 3M (Conglomerate) 2022-01-07
#151      3M    MMM Conglomerate      3M (MMM) 3M (Conglomerate) 2022-01-10
#    close dclose dclose2 ranking
#1   100.0    0.0 #F0F5F0       1
#31  101.4    1.4 #F0F5F0      12
#61  101.0    1.0 #F0F5F0      15
#91  100.1    0.1 #F0F5F0      15
#121 101.2    1.2 #F0F5F0      14

#日本語設定: 必須
ggplot2::update_geom_defaults("text", list(family = "HiraKakuPro-W3"))
ggplot2::update_geom_defaults("label", list(family = "HiraKakuPro-W3"))

##実行
p1 <- DJIA_animation(ChartData1, Label="ダウ平均銘柄")

#gif出力: 実行時間 30秒くらい
animate(p1, fps = 2, duration = 125, width = 700, height = 700,
        renderer = gifski_renderer("DJIA_BarChartRace_animation_p1.gif"))

ダウ平均銘柄のバー・チャート・レース

まとめ

今回、ダウ平均銘柄の2022年12月まで値動きのバー・チャート・レースを作成しました。 全体を眺めてみると、12月20日現在で、2022年年初からで100%以上なっている銘柄は、約10銘柄あるみたいですね。 そのなかでも、シェブロン(CVX)とメルク(MRK)が結構上昇していて、目立ちますね。2022年は、石油と医薬品の年でしたね。

関連記事

skume.net

Rコード: getDJIA.R

gist.github.com

【R言語とケモインフォ】PubChemからの化合物の情報・構造の取得、およびOpen-Babelを使ったファイル形式変換についての諸々

はじめに

情報学と化学(バケガク)との融合領域を、「ケモインフォマティクス」というらしいです。略して、「ケモインフォ」です。 この用語の由来はchemistryinformaticsとを合わせた造語で、 私はあまり使ったことないですが、日本語では「情報化学」とも言われるようです。

今回、タンパク質とリガンドの結合予測を行う、ドッキングシミュレーションの下準備として、 PubChemからの化合物情報の取得、Open Babelを使った化合物構造の作成やフォーマット変換、PyMOLを使った構造可視化といった諸々についてまとめてみました。

Open Babelは、主に化学構造ファイルフォーマットを変換するために用いられるフリーソフトウェアで、化学構造ファイルの作成やエネルギーに基づく構造の最適化計算などを行えます。また、PyMOLは老舗のオープンソースの分子グラフィックスツールで、現在、Schrödinger社によって商品化されて提供されています。

では、始めてみましょう。

実行環境

実行環境は以下の通りです。

macOS Big Sur (バージョン11.5.2)
MacBook Air (M1, 2020)
チップ Apple M1
メモリ 16GB

Rパッケージの読み込み

R環境を立ち上げて、必要なパッケージをインストールしておきます。今回は少なめです。

#パッケージ・インストール
pack <- c("readr")
install.packages(pack[!(pack %in% unique(rownames(installed.packages())))])

#ロード
for(n in 1:length(pack)){ eval(parse(text = paste0("library(", pack[n], ")"))) }; rm("n", "pack")

Open-Babel & PyMolのインストールについて

Macの場合、HomebrewでOpen-BabelPyMolをインストールするのが便利です。

まずは、ターミナルを起動して、open-babelをbrewコマンドでインストールします。

#Open-Babel のインストール
brew install open-babel

#パス確認
which obabel
#/opt/homebrew/bin/obabel

#ヘルプ表示
obabel -H

#バージョン確認
obabel -V       
#Open Babel 3.1.0 -- Aug  5 2022 -- 07:11:30

Open-Babelをインストールすると、obabel、obconformer、obdistgen、obenergy、obfitなど、19個のコマンド群がインストールされます。主には、obabelを使います*1

次に、pymolをインストールします。現在、PyMOL(TM) Molecular Graphics System, Version 2.5.0.が使えます。

#pymolのインストール
brew install pymol

#パス確認
which pymol
#/opt/homebrew/bin/pymol

これで、open-babelpymolの設定は完了です。

また、画像結合時に使うので、ImageMagickもインストールしておきます。

#ImageMagickのインストール
brew install imagemagick

Open-Babelの基本動作

https://openbabel.org/docs/current/

ここでは、Open-Babelの基本的な使い方について解説します。 まずは、SMILES記法をスタートに、化学構造ファイルを作成する方法を紹介します。

SMILES形式は多くの種類の分子エディタにおいてもインポート可能で、二次元の図表あるいは三次元のモデルとして表示できます。また、CANGENアルゴリズムに基づいて1つの表記になるよう正規化された(canonical)ものを、カノニカルSMILESと呼ばれます。

実施例として、グルコースのSMILES形式を使って、2Dと3Dの構造ファイルを作成してみます。 グルコースのCanonical SMILESは、「C(C1C(C(C(C(O1)O)O)O)O)O」と記述されます。

まずは、obabelコマンドを使って、グルコースのSMILESを2D画像(.png)に変換します。SMILESの入力については、-:"<SMILES string>" or -:'<SMILES string>'と記述します。また、別記法として、smiファイルを使う方法、echoを使う方法も記載しています。

それでは、ターミナルでコマンドを実行していきます。

#SMILESを2D画像に変換 + --gen2D
obabel -:'C(C1C(C(C(C(O1)O)O)O)O)O' -o png -O out1.png --gen2D

#SMILESを3D画像に変換 + --gen3D
obabel -:'C(C1C(C(C(C(O1)O)O)O)O)O' -o png -O out2.png --gen3D

#別記法(1): smiファイルを使う場合
echo 'C(C1C(C(C(C(O1)O)O)O)O)O' > glucose.smi
head glucose.smi
#C(C1C(C(C(C(O1)O)O)O)O)O
obabel -i smi glucose.smi -o png -O out3.png --gen3D

#別記法(2): echoを使う
#SMILESを2D画像に変換
echo 'C(C1C(C(C(C(O1)O)O)O)O)O' | obabel -i smi -o png -O out4.png --gen2d
#SMILESを3D画像に変換
echo 'C(C1C(C(C(C(O1)O)O)O)O)O' | obabel -i smi -o png -O out5.png --gen3D

SMILESをPNG画像に変換

次に、SMILESをPDB/PDBQT形式に変換します。

#SMILESをPDB形式に変換
obabel -:'C(C1C(C(C(C(O1)O)O)O)O)O' -o pdb -O glucose.pdb --gen3D

#SMILESをPDBQT形式に変換
obabel -:'C(C1C(C(C(C(O1)O)O)O)O)O' -o pdbqt -O glucose.pdbqt --gen3D

#SMILESをmol2形式に変換
obabel -:'C(C1C(C(C(C(O1)O)O)O)O)O' -o mol2 -O glucose.mol2 --gen3D

#pymolでPDBファイルを可視化
pymol glucose.pdb

pymolで開くと、glucoseの3D構造が下図にように見えます。

pymolでPDBファイルを可視化

Open-Babelの関連コマンドについて

続いて、Open-Babelの関連コマンドについて紹介します。

まず、obenergyコマンドは、分子のエネルギーを計算します。

#GAFFによるエネルギー計算
obenergy -ff GAFF -v glucose.pdb 
#...
#E N E R G Y
#
#     TOTAL BOND STRETCHING ENERGY =    2.055 kJ/mol
#     TOTAL ANGLE BENDING ENERGY =   15.645 kJ/mol
#     TOTAL TORSIONAL ENERGY =    9.809 kJ/mol
#     TOTAL IMPROPER-TORSIONAL ENERGY =    0.000 kJ/mol
#     TOTAL VAN DER WAALS ENERGY =   31.348 kJ/mol
#     TOTAL ELECTROSTATIC ENERGY =   -7.801 kJ/mol
#
#TOTAL ENERGY =   51.056 kJ/mol

obpropコマンドは、標準的な分子特性を出力します。

obprop glucose.pdb 
#name             glucose.pdb 1
#formula          C6H12O6
#mol_weight       180.156
#exact_mass       180.063
#canonical_SMILES OC[C@H]1O[C@H](O)[C@@H]([C@@H]([C@@H]1O)O)O  
#
#InChI            InChI=1S/C6H12O6/c7-1-2-3(8)4(9)5(10)6(11)12-2/h2-11H,1H2/t2-,3-,4-,5-,6+/m1/s1
#
#num_atoms        24
#num_bonds        24
#num_residues     1
#num_rotors       1
#sequence         UNL
#num_rings        1
#logP             -3.2214
#PSA              110.38
#MR               35.736
#$$$$

obminimizeコマンドは、形状を最適化し、分子のエネルギーを最小になるように計算します。 また、obconformerコマンドは、低エネルギーコンフォーマーを生成します。

#GAFFによる構造 & エネルギー最適化: 2500計算がdefault 
obminimize -n 2500 -ff GAFF glucose.pdb > glucose_obm.pdb

#pymolで可視化
pymol glucose.pdb glucose_obm.pdb

#Monte Carlo searchによりランダム構造を作製した後に最も低いエネルギー状態を選択
#250個のランダム構造の生成、100 stepsの構造最適化
obconformer 250 100 glucose.pdb > glucose_obc.pdb

#pymolで可視化
pymol glucose.pdb glucose_obc.pdb

glucose.pdb と glucose_obc.pdbの重ね合わせ結果

計算前後の結果を重ね合わせていますが、ほとんど構造は変わってませんね。

PubChemからの化合物の情報・構造データの取得

PubChemは、国立生物工学情報センター(NCBI)によって維持管理されている、化学分子データベースの1つです。化合物情報の収録数は、確実に、世界一位でしょうね。

今回、PubChemから、「薬剤・薬物情報」に関する化合物の情報や構造をダウンロードします。 それでは、PubChemのWebページに訪問します。

これが、PubChemのホーム画面です。そこで、検索窓の下にある、「Browse Data」に進みます。

「薬剤・薬物情報」のデータを収集するため、「Drug and Medication Information」を選択します。 各自、必要に応じて、別カテゴリーを選択してください。化学物質数としては、約1.8万種類が収録されています。

続いて、右側のダウンロードのタブをクリックして、csv形式とsdf形式のファイルをそれぞれダウンロードします。ダウンロード後に、PubChem_Drug_Medication_Information.csvPubChem_Drug_Medication_Information.sdfという名前をつけて、作業ディレクトリ内に保存しました。

Rで、PubChem化合物データを読み込み

それでは、PubChemの化合物データ、csvファイルをR環境で読み込みます。 ここでは、readrパッケージのread_csvを使います。

#csv読み込み
PubChem <- readr::read_csv("PubChem_Drug_Medication_Information.csv", show_col_types = FALSE)

#表示
head(PubChem)
# A tibble: 6 × 24
#    cid cmpdname  cmpds…¹    mw mf    polar…² compl…³ xlogp
#  <dbl> <chr>     <chr>   <dbl> <chr>   <dbl>   <dbl> <chr>
#1     1 Acetylca… Acetyl… 203.  C9H1…    66.4     214 0.400
#2     2 1-Propan… 14992-… 204.  C9H1…    63.6     219 -0.3…
#3     6 1-Chloro… 1-chlo… 203.  C6H3…    91.6     224 2.300
#4    11 1,2-Dich… 1,2-di…  99.0 C2H4…     0         6 1.500
#5    34 2-Chloro… 2-chlo…  80.5 C2H5…    20.2      10 -0.1…
#6    38 2-Dehydr… 2-dehy… 146.  C6H1…    74.6     159 -0.1…
# … with 16 more variables: heavycnt <dbl>,
#   hbonddonor <dbl>, hbondacc <dbl>, rotbonds <dbl>,
#   inchi <chr>, isosmiles <chr>, inchikey <chr>,
#   iupacname <chr>, meshheadings <chr>, annothits <chr>,
#   annothitcnt <dbl>, aids <chr>, cidcdate <dbl>,
#   sidsrcname <chr>, depcatg <chr>, annotation <chr>, and
#   abbreviated variable names ¹<200b>cmpdsynonym, ²<200b>polararea, …
# ℹ Use `colnames()` to see all variable names

#列名
colnames(PubChem)
# [1] "cid"          "cmpdname"     "cmpdsynonym" 
# [4] "mw"           "mf"           "polararea"   
# [7] "complexity"   "xlogp"        "heavycnt"    
#[10] "hbonddonor"   "hbondacc"     "rotbonds"    
#[13] "inchi"        "isosmiles"    "inchikey"    
#[16] "iupacname"    "meshheadings" "annothits"   
#[19] "annothitcnt"  "aids"         "cidcdate"    
#[22] "sidsrcname"   "depcatg"      "annotation"  

1列目にcid、2列目にcmpdname、3列目にcmpdsynonym、8列目にxlogp、14列目にisosmiles、などの情報が含まれています。

「gluc」あるいは「glyc」を含む化合物名を検索する

glucoseの一部の「gluc」あるいは「glyc」を使って、3列目のcmpdsynonym内を検索して、化合物を探します。

#「gluc|glyc」でcmpdsynonym列を検索
PubChem0 <- PubChem[grepl("gluc|glyc", PubChem$cmpdsynonym),]

#cmpdname表示
head(PubChem0$cmpdname)
#[1] "2-Chloroethanol"   "Ethylene Glycol"   "Betaine"           "Trimethyl glycine"
#[5] "2,3-Butanediol"    "Cellobiose"  

#行列数
dim(PubChem0)
#[1] 1361   24

「gluc」or「glyc」で検索した結果、1361個の化合物がヒットしました。

ImageMagickを用いて、ヒットした化合物の2D画像を作成する

ここでは、ヒットした1361個の化合物のSMILESをもとに、2D画像(PNG)に変換します。

#SMILES情報
smiles <- PubChem0$isosmiles

#表示
head(smiles)
#[1] "C(CCl)O"                                    
#[2] "C(CO)O"                                     
#[3] "C[N+](C)(C)CC(=O)[O-]"                      
#[4] "C[N+](C)(C)CC(=O)O"                         
#[5] "CC(C(C)O)O"                                 
#[6] "C(C1C(C(C(C(O1)OC2C(OC(C(C2O)O)O)CO)O)O)O)O"

#2D画像に変換
for(n in 1:length(smiles)){
#n <- 1
a <- paste0("obabel -:'", smiles[n], "' -o png -O gluc_out_", formatC(n, width = 2, flag = "0"), ".png --gen2D")
#実行
system(a)
}

#ImageMagickを使った画像結合
system("montage -tile 15x15 -geometry 100% gluc_out_*.png gluc_out.png")

以下が、作成した化合物構造の画像です。

2D変換画像(1)

2D変換画像(2)

2D変換画像(3)

検索された化合物構造(sdf)をPyMolで可視化する

"ついで"くらいの内容ですが、ターミナルを起動して、pymolコマンドでsdfファイルが開いてみます。

pymol PubChem_Drug_Medication_Information.sdf

まとめ

PubChemからの化合物の情報・構造の取得方法とか、Open-BabelやPyMolコマンドについての使い方とかについて解説しました。

この内容は、主に、ドッキングシミュレーション用の下準備ですので、次回に続きます。。。

関連資料

skume.net

github.com

openbabel.org

future-chem.com

qiita.com

*1:以前は、babelだったような気がしますが、obabelに名前が変わったようですね。

【R初心者向け】R言語/RStudioのインストールと諸設定について

はじめに

R言語は、統計解析向けのプログラミング言語、及びその実行環境で、オープンソース・フリーソフトウェアとして無料で利用することができます。 最近では、統計解析だけに留まらず、多変量解析、機械学習、インタラクティブな可視化、バイオインフォマティクスなどなど、様々なデータ解析で利用されています。

一方、RStudioは、Rの統合開発環境です。主に、RStudio Desktopというデスクトップアプリケーションと、RStudio Serverというリモートサーバ上で実行されるアプリケーションがあります。 2022年10月に「RStudio社」は「Posit社」に名前が変わり、現在はPosit SoftwareがRStudioを提供してメンテナンスをしています。

この記事では、R環境構築の際の最初に行う、R言語とRStudioのインストール方法を分かり易く、解説しています。R初心者の方には、ぜひ、R言語をセットアップする際の参考にしていただけると嬉しいです。

R-CRANからのR言語アプリのインストール

始めに、CRAN(クラン、あるいはシーラン; The Comprehensive R Archive Network)からのRアプリのダウンロードを紹介します。

まずは、Googleの検索窓から、「r」あるいは「CRAN」で検索してみます。

2022年12月6日時点で、Google検索したところ。。。

「r」でgoogle検索すると。。。

 

「r」で検索すると、「R(アール) - 総務省統計局」がトップヒットして、続いて、 「The R Project for Statistical Computing」がヒットします。 この場合、2番目にヒットした、Rのサイトに進めます。

そうすると、R Projectに進むので、次は、中央付近の「download R」をクリックします。

 

次に、CRAN Mirrorsでサイトリストが表示されます。 初心者の場合、、このページで、もうかなり嫌になります。。 ただ、ここはどのMirrorsを選んでも大丈夫です。 というのも、どこも同じ形式のサイトが表示されるだけなんです。

私はいつもオーストラリアのどこかのミラーを選んでいます。

 

次に、The Comprehensive R Archive Networkのページが表示されて、 「Download and Install R」ということで、 Linux版、Mac版、Windows版のダウンロードリンクが表示されます。 お使いのOSに合わせて、アプリを選択します。

私が使っているPCは M1 Mac なので、「Download R for macOS」のリンクをクリックします。

 

そうすると、「R for macOS」というwebページに切り替わります。 この場合だと、Latest releaseに「R-4.2.2-arm64.pkg 」が表示されます。 MacのCPUに合わせて、バージョンを選択する必要があります。

 

次に、pkgのリンクの上で、右クリックして、「リンク先を別名で保存...」を選択して、Rアプリをダウンロードします。

「CRAN」でgoogle検索すると。。。

一方で、「CRAN」で検索すると、 「The Comprehensive R Archive Network」がトップヒットします。 そのリンクをクリックします。

そうすると、The Comprehensive R Archive Network のページが表示されて、、、、Linux版、Mac版、Windows版のダウンロードリンクが表示されます。 上記の通り、お使いのOSに合わせて、アプリを選択します。

このように、「cran」で検索する方が、少しショートカットされます。

MacOSでpkgを実行して、Rをインストールする

ダウンロードされた、「R-4.2.2-arm64.pkg」をダブルクリックします。

インストール画面が表示されるので、 「続ける」、「続ける」、「続ける」、「同意する」をクリックします。

 

次に、インストール先のディスクを選択して、「続ける」をクリックします。 通常、そのままクリックで、大丈夫です。

そして、ようやく、「インストール」のボタンが表示されます。 そして、「パスワード入力」を聞かれるので、指示に従って、パソコンのパスワードを入力します。 しばらく待っていると、インストールが完了するので、「閉じる」をクリックします。

無事に完了すると、アプリケーションフォルダ内に、「R.app」がインストールされています。

「R.app」をダブルクリックすると、Rコンソールが表示されます。

このコンソールが表示されたら、インストールは無事に完了です。

Mac Homebrewで、R言語をインストールする

上記のインストールは、GUI版のR.appのインストール方法です。 Homebrewでは、CUI版とGUI版をどちらもインストールできます。

それでは、ターミナルを開いて、以下のbrewコマンドを実行して、インストールします。

まずは、brewのメタデータの更新をします。

#更新
brew update

CUI版のRをインストールしたいときには、r をインストールします。

#インストール
brew install r

#パス確認
which R
#/opt/homebrew/bin/R

#Rコンソール実行
R

続いて、GUI版Rをインストールする場合は、--caskオプションを付けて、brewを実行します。

このコマンドは、https://cloud.r-project.org から、R.appをインストールする方法です。

#インストール
brew install --cask r

ここのポイントとしては、インストール時には「r」は小文字を使用します。 一方、Rコンソールの実行時には、「R」は大文字を使用します。

posit HPから、RStudioをインストールする

Google検索で、RStudioを検索して、トップヒットするRStudioのリンクをクリックします。

そうすると、positのウェブサイトに移動して、右上の「DOWNLOAD RSTUDIO」をクリックします。

次に、RStudio Desktopの下にある、「DOWNLOAD RSTUDIO」をクリックします。

そうすると、「Download RStudio Desktop」というページが表示されます。

そこから、ずっと下の方に進んでいくと、MacOS用のインストーラーである、 「RSTUDIO-2022.07.2-576.DMG」が見つかるはずです。 positのウェブサイトは非常に分かりにくいです。

そのインストーラーをダウンロードして、インストールを実行します。 そうすると、インストールは完了です。

Mac Homebrewで、RStudioをインストールする

Homebrewでデスクトップアプリ版RStudioをインストールする場合には、--caskオプションを付けて、brewを実行します。

このコマンドは、https://download1.rstudio.org から、RStudio.appをインストールする方法です。

#インストール
brew install --cask rstudio

このインストール時には、「rstudio」はすべて小文字です。

まとめ

RとRStudioのインストールをそれぞれ解説しました。

Macの場合なら、Homebrewでインストールする方が断然楽ですね。

参考資料

skume.net

posit.co

formulae.brew.sh