Tex, python, illusrator, VPSの学生ノート

latotex-blog

R

AtomとAnacondaでRを始める!

投稿日:2020年9月28日 更新日:







講義の関係で、Rを使うことになりました。
今まで、AtomとAnacondaでPythonを使ってきたので、
Rstudioではなく、AnacondaでR専用の仮想環境を新しく作ることにしました。
AnacondaとAtomがインストールされていることを前提に説明します。

スポンサーリンク

R専用の仮想環境をつくる

まず、Anaconda promptを立ち上げ、以下のコマンドでAnacondaの仮想環境を確認します。

$ conda info -e
# conda environments:
#
base                     C:\ProgramData\Anaconda3
testenv               *  C:\Users\Username\.conda\envs\testenv

仮想環境を作ったことがない方はbaseの項目に*がついているはずです。*は現在作業している環境を示しています。上の例ではtestenvという仮想環境が有効になっていることを示しています。

それでは、新しく構築するR専用の仮想環境の名前を「renv」として、以下のコマンドを入力します。「r-essentials」と「r-base」は名称のとおり、Rを使う上で必要になるパッケージです。この2つが入っていれば他にインストールするものはほとんどないので仮想環境を構築するついでに入れてしまいます。

$ conda create -n renv r-essentials r-base 

インストールが終わったら、仮想環境ができているか確認します。「renv」の行が追加されていれば成功です。

$ conda info -e
# conda environments:
#
base                     C:\ProgramData\Anaconda3
renv                     C:\Users\Username\.conda\envs\renv
testenv               *  C:\Users\Username\.conda\envs\testenv

以下のコマンドで、「renv」の仮想環境を有効化できます。Anaconda側の作業はこれで終了です。

$ activate renv

AtomにRのパッケージをインストールする

Atom側では「autocomplete-r(コード補完)」、「language-r(ハイライト)」の2つをインストールします。インストール方法はsetting(ショートカット:cytl + ,)を開き、installのタブをクリックすると、インストール用の画面が表示されるので、検索欄に上記2つのパッケージを入力してインストールします。

ここで、「language-r(ハイライト)」をインストールするときのエラー対処方法を載せておきます。「language-r(ハイライト)」をインストールした後、再びAtomを起動すると以下のようなエラーが表示されることがあります。

Failed to load snippets from
‘C:\Users\Username.atom\package\language-
r\snippets\language-r.cson’

C:\Users\Username\.atom\packages\language-
r\snippets\language-r.cson: Duplicate Key ‘Cummulative max’

このエラーに対処するため、問題になっているlanguage-r.csonを編集します。language-r.csonの場所は上の例でいうと「C:\Users\Username\.atom\packages\language-r\snippets\language-r.cson」にあります。一応、language-r.csonのファイルをコピーして(snippets以外の)適当なフォルダーにいれておきましょう。

編集する場所は2箇所あります。まず、14-19行目の以下のコードを探してください。

'Cummulative max':
  'prefix': 'cumi'
  'body': 'cummax(${1:x})'
'Cummulative max':
  'prefix': 'cuma'
  'body': 'cummin(${1:x})'

「Duplicate Key 'Cummulative max'」の警告どおり、'Cummulative max'が重複していることが分かります。'Cummulative max'を'Cummulative min'に変更しましょう。以下が変更後のコードです。

'Cummulative max':
  'prefix': 'cumi'
  'body': 'cummax(${1:x})'
'Cummulative min':
  'prefix': 'cuma'
  'body': 'cummin(${1:x})'

次に47-55行目の以下のコードを探してください。

'Grep':
  'prefix': 'grep'
  'body': 'grep(${1:pattern}, ${2:x}, ${3:ignore.case = ${4:FALSE}}, ${5:perl = ${6:FALSE}})'
'Grep':
  'prefix': 'grep'
  'body': 'grep(${1:pattern}, ${2:x}, ${3:ignore.case = ${4:FALSE}}, ${5:perl = ${6:FALSE}}, ${7:value = ${8:FALSE}}, ${9:fixed = ${10:TRUE}})'
'Grep logical':
  'prefix': 'grepl'
  'body': 'grep(${1:pattern}, ${2:x}, ${3:ignore.case = ${4:FALSE}}, ${5:perl = ${6:FALSE}}, ${7:fixed = ${8:TRUE}})'

今度は'Grep'が重複しています。(このままでは「Duplicate Key 'Grep'」の警告が発生します)47-49行目の'Grep'を削除してください。変更後のコードは以下の通りです。

'Grep':
  'prefix': 'grep'
  'body': 'grep(${1:pattern}, ${2:x}, ${3:ignore.case = ${4:FALSE}}, ${5:perl = ${6:FALSE}}, ${7:value = ${8:FALSE}}, ${9:fixed = ${10:TRUE}})'
'Grep logical':
  'prefix': 'grepl'
  'body': 'grep(${1:pattern}, ${2:x}, ${3:ignore.case = ${4:FALSE}}, ${5:perl = ${6:FALSE}}, ${7:fixed = ${8:TRUE}})'

最後に、再度Atomを起動してエラーが表示されなくなったら成功です。
お疲れ様でした!

参考にしたサイト様

・AnacondaでRの仮想環境を立ち上げる方法
https://docs.anaconda.com/anaconda/user-guide/tasks/using-r-language/

・language-r.csonのエラー対処方法
https://jstaf.github.io/2018/03/25/atom-ide.html


-R
-, ,

Copyright© latotex-blog , 2020 All Rights Reserved Powered by STINGER.