今夜がλ

夜だけプログラマー

メモ_UbuntuでのR言語導入・RMecab導入

前提条件

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

R言語インストール

$ sudo apt update
$ sudo apt install r-base
$ R --version
R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
...

Rmecab

MeCabのインストール

$ sudo apt-get install -y mecab libmecab-dev mecab-ipadic-utf8
$ mecab --version
mecab of 0.996

RMeCabのインストール

$ R
> install.packages('RMeCab')
> packageVersion("RMeCab")
[1] ‘1.4’

Ubnutuだと下記エラーメッセージが出てコンパイルエラーが出るかもしれない。

/usr/lib/R/lib -lR
/usr/bin/ld: cannot find -lmecab
collect2: error: ld returned 1 exit status
/usr/share/R/share/make/shlib.mk:6: recipe for target 'RMeCab.so' failed
make: *** [RMeCab.so] Error 1
ERROR: compilation failed for package ‘RMeCab’

自分の場合は上述したようにlibmecab-devのような関連ライブラリを入れることで解消できた。

その他

# パイプ演算子%>%を使ってパイプ処理ができるようになる
library(magrittr)
# 文字列処理の関数を持つパッケージ(baseパッケージのものより使いやすいらしい)
library(stringr)
# tibble形式(data frameオブジェクトを拡張した形式)で取り扱うためのパッケージ
library(tidytext)
# データフレーム(data.frameクラスを持つリスト)を操作するのに適したパッケージ
library(dplyr)

変数についている$は何?
-> hoge$bar
-> データフレーム名$列名のようにデータフレームの列を参照するのに利用する

tibbleのメリットについて
ある日tidyと一緒に: tidyverseは厳しいがとても優しい

[R] トピックモデル(LDA)を用いた大量文書の教師なし分類 - Qiita