R言語による電子カルテデータの二次利用

~R言語初心者がデータ処理を楽しめるように基本的内容中心のサイトです~

OpenDolphin(オープンソース電子カルテ)とRstudioの接続

r-beginner.hatenadiary.jp

以前ブログで、OpenDolphin(電子カルテ)とORCA(日医レセコン)の環境構築について書いたところ、OpenDolphinデータベースを二次利用できるのかコメントをいただきました。

実際OpenDolphinで電子カルテを運用されている方の参考にもなるかもしれないので、仮想マシンでの環境構築とRstudioでの接続までを書いておきます。

いつも通りUbuntu仮想マシン(Ubuntu1404)を用意します。

インストール用のスクリプトは上記ブログ内のものとほぼ同じですが、OpenDolphinのDockerコンテナで使用しているPostgreSQLと、ORCAPostgreSQLのポートがぶつからないように、Docker runするときにPort(5433)を指定しています(通常は5432)。RstudioもクライアントPCにインストールするのが面倒なので、Dockerコンテナで入れちゃいます。

Ubuntuは固定IPに変更しておいた方がベターです。
端末から(Ctrl+Alt+T)。ファイル名は何でもよいですが、とりあえずdorca.shでシェルスクリプト用ファイルを作成します。

$ gedit dorca.sh

エディターが開いたら、下記スクリプトをコピペして、保存してください。

#!bin/sh
printf "password: "
read password

# install ORCA
echo "$password" | sudo -S wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
sudo apt-key add archive.key
sudo wget -q -O \
/etc/apt/sources.list.d/jma-receipt-trusty48.list \
https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-trusty48.list
sudo apt-get update
sudo apt-get -y dist-upgrade
echo "$password" | sudo -S apt-get install -y jma-receipt
wget https://ftp.orca.med.or.jp/pub/data/receipt/outline/update/claim_update.tar.gz
tar xvzf claim_update.tar.gz
sudo bash claim_update.sh
sudo jma-setup
sudo service jma-receipt start
sudo apt-get install -y panda-client2

# install OpenDolphin
sudo apt-get update
sudo apt-get install curl
sudo curl -sSL https://get.docker.com/|sh
sudo service docker start
sudo docker pull dolphindev/postgres
sudo docker pull dolphindev/wildfly

sudo docker run --name dolphin-db -p 5433:5432 -d dolphindev/postgres
sudo docker run --name dolphin-server --link dolphin-db:ds -p 8080:8080 -d dolphindev/wildfly
sudo docker run -d --name=rstudio -p 8787:8787  rocker/hadleyverse 

sudo service jma-receipt stop
sudo gedit /etc/postgresql/9.3/main/postgresql.conf
sudo gedit /etc/postgresql/9.3/main/pg_hba.conf 
sudo service postgresql stop 
sudo service postgresql start
sudo dpkg-reconfigure jma-receipt 
sudo service jma-receipt start
sudo ufw disable

# ORCApasswordの設定
sudo -u orca /usr/lib/jma-receipt/bin/passwd_store.sh

あとは、シェルスクリプトを実行するだけです。

$ sh dorca.sh

うちの通信環境とPCスペックだと、シェルスクリプトの実行時間は35分程度です。
途中ORCAの設定等の入力を求められますが、上記サイトに書いてある通り入力してください。

では今回のポイントのOpenDolphinとRstudioの接続です。
Rstudio serverはDockerコンテナで動いているので、仮想マシン(Ubuntu)のIPアドレスとポートをクライアントPCのブラウザーに入力します。
例)192.168.244.211:8787

f:id:r_beginner:20170303182547p:plain

UsernameとPasswordは共にrstudioです。
これでRstudio severに接続できます。
次にRstudioで新規ファイルを作成。

下記コードをコピペして、一行ずつ実行してみてください。

install.packages("RPostgreSQL")
library("RPostgreSQL")
library("dplyr")

con <- dbConnect(dbDriver("PostgreSQL"), 
                 host="192.168.244.211",  # 自分の環境のIPアドレスを入力
                 port="5433",
                 user= "postgres", 
                 dbname="dolphin",
                 password="postgres")
dbGetInfo(con)
dbListTables(con)
dbListFields(con, "d_stamp")
dbReadTable(con, "d_facility")
res <- dbSendQuery(con, "select * from demo_patient;") 
dbFetch(res) 
dbDisconnect(con)

dbConnectで接続オブジェクトを作って、dbListTablesでテーブルを確認したり

f:id:r_beginner:20170303203529j:plain

dbListFieldsでカラムを見たり

f:id:r_beginner:20170303203625j:plain

dbReadTableでテーブルを読み込んだり

f:id:r_beginner:20170303203700j:plain

ORCAから患者登録をして、OpenDolphinでカルテに書き込んで、Rstudioで実際にデータベースを確認してみると、いろいろアイデアが浮かんでくるかと思います。
楽しんでみてください。



参考サイト

DICOMserver構築②~Conquest・postgreSQL on Ubuntu16.04

以前DockerImageを使って、簡単なDICOMserver構築をブログにアップしましたが、今回は一つ一つコマンド入力しながらインストールして、データベースもPostgreSQLに変更してみます。

今回も仮想マシン(Ubuntu64bit 16.04LTS)上にサーバー構築します。
画像サーバーなので固定IPにしておきましょう。

基本は、下記サイトのインストール用ZIPファイル内にあるlinuxmanual.pdfに従って操作すれば問題ありません。
Conquest DICOM software
f:id:r_beginner:20170218215602j:plain
ちなみにpdfのマニュアルを見るときは、ZIPファイルの解凍先フォルダで

$ evince linuxmanual.pdf

です。

ではインストールを始めましょう。

sudo apt-get update
sudo apt-get  install g++ 
sudo apt-get -y install apache2 
sudo a2enmod cgi
sudo service apache2 restart

まず作業フォルダを作り、移動します。

mkdir conquest
cd conquest

つぎにPostgreSQLをインストールします。スーパーユーザーでデータベース(conquest)を作成します。

sudo apt-get -y install libpq-dev 
sudo apt-get -y install postgresql
sudo su                      # become superuser 
su – postgres                               # become postgres user 
psql                                        # set the password to postgres 
\password 
postgres 
postgres 
\q 
createdb conquest                           # create database conquest 
psql -l                                     # confirm database
exit 
exit

coquestフォルダーにZIPファイルを落としてきて、解凍し、コンパイルします。

cd conquest
wget http://ingenium.home.xs4all.nl/dicomserver/dicomserver1419.zip
unzip dicomserver1419.zip
chmod 777 maklinux
./maklinux         # compile and install web access 

f:id:r_beginner:20170219080202j:plain
2を選びPostgreSQLを選択します。

エラー出ますが無視。
f:id:r_beginner:20170218223303j:plain

conquestフォルダーで、

./dgate -v -r  # regenerate the database 
./dgate -v     # run the server 

ここもいろいろ言われますが…
f:id:r_beginner:20170218223557j:plain
f:id:r_beginner:20170218223612j:plain

これでサーバーは構築されています。ブラウザのアドレスバーに' http://localhost/cgi-bin/dgate?mode=top 'と入力すると。
f:id:r_beginner:20170218223816j:plain

次にクライアントのKPACSに接続するための設定です。

端末から、Ctrl+Cでサーバーを止めて、conquestフォルダを覗いてみます。

postgres@ubuntu:~/conquest$ ls -a

f:id:r_beginner:20170218224051j:plain

acrnema.mapが設定ファイルです。

gedit acrnema.map

f:id:r_beginner:20170218224245j:plain
KPServer(KPACS)のアドレスとポートを入力して、保存します。

./dgate -v

ブラウザで確認。
f:id:r_beginner:20170219080728j:plain

設定が反映されます。

クライアント側の設定も忘れずに。
f:id:r_beginner:20170218224541j:plain

これでKPACSとConquestが接続されているはずです。

DockerでDICOMserver構築①~Conquest、SQLite

フリーのDICOM画像serverでConquestというのがあります。
最近はDockerImageもあるようなので、使ってみました。

まずは、Ubuntu64ビット16.04を準備。

$ gedit conquest.sh

エディターを立ち上げたら、下のスクリプトをコピペします。

#!bin/sh
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get install docker.io 

# まずはdocker-conquest
sudo docker run --name conquest -d -p 5678:5678 -p 80:80 wavedrift/docker-conquest

実行します。

$ sh conquest.sh

これでサーバーは動いているはずです。

ブラウザのアドレスバーに”http://localhost/cgi-bin/dgate”と入力。
上手くつながってはいるのを確認してください。
次にクライアントソフトから接続するための設定をします。

クライアントは定番のKPACS。参考サイトからダウンロードしてください。アカウントの作成とログインが必要です。
ホストPC(ウチの環境はWindows)のDICOMviewerからも見えるように、acrnema.mapの設定を変更します。

まずはacrnema.mapがどこにあるのか?当たり前だけどDockerコンテナ内なので
Ubuntu端末から、conquestコンテナ内に入ります

$ sudo docker exec -it conquest bash

ファイル検索は、findで検索。

# find / -name 'acrnema.map'

conquestフォルダにありました。

# cd conquest
# ls

dicom.iniもacrnema.mapもありますね、さあ編集です。でもgeditが動かない。
うーん、辛いけどviで開く。今後のためにも参考サイト見ながら操作の勉強。

# vi acrnema.map

クライアント何個かある場合はAEタイトルが重ならないように注意です。
ホストPCのIPアドレスを入力します。

f:id:r_beginner:20161211142413j:plain

conquest serverのrestartがわからず。コンテナのrestart。

$ sudo docker restart conquest

今度はホストPC上のクライアントソフト(KPACS:DICOMviewer)の設定です。
右上のDICOMsettingボタンを押して、DICOMconfigurationsで、仮想マシンIPアドレスを入力し設定保存します。

f:id:r_beginner:20161211142952j:plain

KPACSのQuery→Networkタブを選択→Conquestにチェック→Search filterのSearchボタンを押してみましょう。テストデータが見えました。

f:id:r_beginner:20161211143321p:plain

接続成功です。

本当は、データベースをSQLiteからMySQLに変更したかったのですが、dicom.iniファイルを変更してから、もろもろの処理ができず、お手上げ状態でした。Windowsの場合はConquestのソフトでMySQLにデータベース変更したり、データベースの初期化ができるのですが、Linuxコマンドでは上手く行きませんでした。わかる人がいたら教えて欲しい…


参考:

PostgreSQLとRstudio環境構築

正直PostgreSQLは、ほぼ触ったことがありません。

ただ医師会のレセコン(ORCA)や、オープンソース電子カルテのOpenDolphinはPostgreSQLを利用しており、これからレセコン・電子カルテデータをいじるのに避けては通れません。
はじめて操作した電子カルテMySQLだったのですが、使い始めはSQLの文法より何より、データベースサーバー・クライアントのインストール等の環境構築で手間取った記憶があります。もちろん細かいこともあとから勉強必要ですが、データベースにアクセスして操作する楽しみを少しでも早く感じれるように、環境構築の時間を可能な限り短くしたいものです。

今回PostgreSQLSQLの練習前に、簡単に早く環境構築(PostgreSQL+Rstudio)することを目標に書いてみました。

準備するもの

時代はUbuntuです。Dockerのオーバーヘッドを減らすためメインPCのWindowsUbuntuに上書きするか(無茶?)、仮想マシンVMware等)にUbuntuOSをインストールしておいてください。僕はUbuntu64bit16.04LTSをインストールした仮想マシンを用意しました。
f:id:r_beginner:20161129205319p:plain

インストールからの流れ

  • Dockerいれる
  • Rstudioコンテナ走らせる
  • ホストPCからつないでみる

では始めます。Ctrl+Alt+Tと押して、端末を立ち上げてください。
シェルスクリプトを書き込むrpostgres.shファイルを作ります。

$ gedit rpostgres.sh

入力するとエディターが立ち上がります。下記のスクリプトをコピペして、記録してエディターを終了してください。

#!bin/sh
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get install docker.io 
# まずPostgres環境  
sudo docker run -d --name=postgres -p 5432:5432 -e POSTGRES_PASSWORD=mypwd postgres
# rstudioの環境
sudo docker run -d --name=rstudio -p 8787:8787  rocker/hadleyverse 

それではシェルスクリプトを実行します。

$ sh rpostgres.sh

10分とかからずインストールは終了したかと思います。念のためコンテナが動いているか確認します。

$ sudo docker ps -a

f:id:r_beginner:20161210180552j:plain
2つのコンテナともstatusはupで大丈夫のようです。

ホストマシン(僕はWindows)のブラウザにDockerをインストールした[IPアドレス]とポート[8787]と入力します。
例)192.168.0.5:8787
f:id:r_beginner:20161210180000p:plain

UsernameとPasswordは共にrstudioです。接続できたら新規ファイルを作成。

f:id:r_beginner:20161210175824p:plain

新規ファイルに下記のスクリプトをコピペしてください。

install.packages("RPostgreSQL")
library("RPostgreSQL")
con <- dbConnect(PostgreSQL(), 
                 host="192.168.0.5",  # 自分の環境のIPアドレスを入力
                 user= "postgres", 
                 password="mypwd")
dbSendQuery(con, "CREATE DATABASE r_test;")

一番上の行からrstudioのRunボタンで実行してみてください。

  • まずRPostgreSQLパッケージをインストール
  • パッケージを読み込み
  • Connectionオブジェクトを作成
  • オブジェクトにクエリを投げて実行します。(r_testというデータベースを作成)

これでつながりました。
確認も兼ねて、GUIのクライアントツールもインストールしてみましょう。

pgAdmin4 : https://www.pgadmin.org/download/windows.php

f:id:r_beginner:20161210173610p:plain

r_testというデータベースが確認できました。
つながらないときは、プロパティを確認してみましょう。

f:id:r_beginner:20161210173752p:plain

一応、別の方法でも。
仮想マシンの端末からpostgresコンテナ内に入り、コマンドで確認します。

$ sudo docker exec -it postgres bash
# psql -U postgres r_test
r_test=# \det+

f:id:r_beginner:20161210175304j:plain

空っぽのデータベースが見えました。大丈夫そうです。
あとはPostgreSQLの勉強をして、大好きなrstudioからガンガンSQLを流し込みましょう。

参考:

OpenDolphinとORCAの簡単な環境構築

OpenDolphinは日医レセコンORCAに接続できる、オープンソース電子カルテです。

PC初心者でも導入できるように分かりやすく書かれていますので、これを参考に動かしてみたいと思います。
gihyo.jp

はじめに

極力インストールの手間を省略するためと、ホストOSの環境をよごさないために、VMware仮想マシンにUbuntu64,14.04LTSをインストールし、そこにORCAをインストールします。またOpenDolphinはUbuntuのDockerを利用してインストールします。
Ubuntuが苦手、Dockerがわからなくても環境構築できるように、シェルスクリプトを使ってコード入力を少なくすることにします。

ORCA、OpenDolphinサーバーとglclient2のインストール

まずUbuntu14.04LTSの仮想マシンは準備しておいてください。僕はVMwareで準備しました。そのままのUbuntu14.04は使いにくいので日本語入力はできるように設定変更してください。
わからない方は、ここを参考にしてください。
ORCA(日医標準レセプトソフト)の導入 - R言語による電子カルテデータの二次利用

Ubuntuの端末を起動してください(Ctrl+Alt+T)。
f:id:r_beginner:20161207174556p:plain

シェルスクリプトを書き込むdorca.shファイルを作ります。

$ gedit dorca.sh

f:id:r_beginner:20161207175536p:plain
エディターが立ち上がりましたね。ここに下記のスクリプトをコピーペーストして、saveボタンで記録してください。

#!bin/sh
printf "password: "
read password

TIME_A=`date +%s`  

# install ORCA
echo "$password" | sudo -S wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
sudo apt-key add archive.key
sudo wget -q -O \
/etc/apt/sources.list.d/jma-receipt-trusty48.list \
https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-trusty48.list
sudo apt-get update
sudo apt-get -y dist-upgrade
echo "$password" | sudo -S apt-get install -y jma-receipt
wget https://ftp.orca.med.or.jp/pub/data/receipt/outline/update/claim_update.tar.gz
tar xvzf claim_update.tar.gz
sudo bash claim_update.sh
sudo jma-setup
sudo service jma-receipt start
sudo apt-get install -y panda-client2

# install OpenDolphin
sudo apt-get update
sudo apt-get install curl
sudo curl -sSL https://get.docker.com/|sh
sudo service docker start
sudo docker pull dolphindev/postgres
sudo docker pull dolphindev/wildfly
sudo docker run --name dolphin-db -P -d dolphindev/postgres
sudo docker run --name dolphin-server --link dolphin-db:ds -p 8080:8080 -d dolphindev/wildfly

sudo service jma-receipt stop
sudo gedit /etc/postgresql/9.3/main/postgresql.conf
sudo gedit /etc/postgresql/9.3/main/pg_hba.conf 
sudo service postgresql stop 
sudo service postgresql start
sudo dpkg-reconfigure jma-receipt 
sudo service jma-receipt start
sudo ufw disable

# ORCApasswordの設定
sudo -u orca /usr/lib/jma-receipt/bin/passwd_store.sh

TIME_B=`date +%s`   
PT=`expr ${TIME_B} - ${TIME_A}`
H=`expr ${PT} / 3600`
PT=`expr ${PT} % 3600`
M=`expr ${PT} / 60`
S=`expr ${PT} % 60`
echo "${H}:${M}:${S}"

エディターを終了し、ファイルが記録されているか確認します。

$ cat dorca.sh

確認できたら、あとで接続設定で必要となるIPアドレスを記録しておきます。
端末をもう一つ開いて、ifconfigで仮想マシンIPアドレスを確認。
次にVMware等仮想化ソフトを動かしているOS(僕はWindows10)のIPアドレスを確認しておきます。
メモしておきましょう。
それでは、シェルスクリプトを実行します。

$ sh dorca.sh

つぎつぎスクリプトが実行されていきます。前半はORCAのインストール、後半はDockerのインストールとOpenDolphinに必要なDockerImageのダウンロード、コンテナの実行です。とりあえずここではDockerとかコンテナとかわからなくて問題ありません。
途中で確認入力を要求されたらy[yes]と入れてください。
後半でORCAのデータベースPostgresの設定画面が開きます。

59行目、listen_addressesの前の'#'をはずし、仮想化ソフトを動かしているOS(僕はWindows10)のアドレスを追加します。
f:id:r_beginner:20161207181433j:plain
保存して終了します。次に別の設定ファイルが起動します。
f:id:r_beginner:20161207182323j:plain
最終行に'host all all 0.0.0.0/0 trust'を追加して、保存して終了します。

CLAIMサーバーの設定は、No、No、の次が下の画面になるのでYes、
f:id:r_beginner:20170226143834j:plain
Portはそのまま
f:id:r_beginner:20170226143841j:plain

最後にORCAのパスワードを確認されますので8桁以上のパスワードを入力しましょう。
これでサーバーの準備は完了です。

OpenDolphinクライアントのインストール

次のURLからクライアントソフトをダウンロードします。Javaバージョン8の実行環境が必要なので予めインストールしておいてください。
https://i18n.opendolphin.com/dolphin/client/OpenDolphin.zip

glclient2の設定

Ubuntuランチャーの一番上のボタンを押して、glclient2を検索
f:id:r_beginner:20161119154709j:plain
起動したら、先程入力したORCAのパスワードを入力してください。
f:id:r_beginner:20161119155003j:plain
01 医療事務ボタンを押すと、下記画面になります。
f:id:r_beginner:20161119155458p:plain
91マスタ登録から、101システム管理マスタを開き、管理コード9000CLAIM接続情報を選び、何度かEnterを押して確定。
f:id:r_beginner:20161207190702j:plain
CLAIM接続するを選び、送信アドレスに、OpenDolphinクライアントのIPアドレス(Win10)を入力、受付ポート5002を入力し登録します。
f:id:r_beginner:20161207190824j:plain

OpenDolphinクライアントの設定

ログイン画面から設定を選び
f:id:r_beginner:20161207191300p:plain
サーバー設定では、サーバーの欄に仮想マシンIPアドレスを入力
f:id:r_beginner:20161207191429p:plain
レセコン設定では、レセコンとの接続をクライアントにして、IPアドレス仮想マシンIPアドレス、ポート番号8210、リッスンアドレスをDolphinクライアントのIPアドレス(Win10)として保存。
f:id:r_beginner:20161207191727p:plain

以上で設定は終了です。使い方はORCAのサイトを参考に。
テスト患者をORCAから入力してみましょう。OpenDolphinのメインウインドウに患者が出力されました。これでORCAとOpneDolphinのCLAIM接続は成功です。
f:id:r_beginner:20161207192152j:plain

Enjoy!!

ORCA(日医標準レセプトソフト)の導入

当院では使用しておりませんが、ORCAというレセプトソフトがあります。ちょっと触ってみたいと思っても、Ubuntuにインストールするのでやや敷居が高い感じです。
今回は仮想マシンで環境構築してみます。
まずVMwareにUbuntu14.04LTSを準備します。

OSの準備

そのままだと日本語入力ができないようなので、
下記サイトを参考にmozc使えるようにしておきましょう。
OS右上のキーボードマークを押してください。

f:id:r_beginner:20161204112112j:plain
configureを選択。

f:id:r_beginner:20161204112139j:plain
➕ボタンを押して、

f:id:r_beginner:20161204112149j:plain
Only Show Current Languageのチェックを外し、Search Input Methodにmozcと入力、Mozcを選択しOK。

f:id:r_beginner:20161204112304j:plain
上矢印ボタンでMozcを一番上に移動し終了です。

ORCAのインストール

ここからORCAのインストールです。
このサイトに書いてあるとおり勧めます。
www.orca.med.or.jp

UbuntuにはWindowsのバッチのような、シェルスクリプトがあるので使ってみましょう。
まず端末を立ち上げて。(Ctrl+Alt+T)
orca.shファイルを作ります。

$ gedit orca.sh

エディターが起動します。
f:id:r_beginner:20161204113403j:plain
このエディターに下のスクリプトをコピペして、記録してください。

#!bin/sh

sudo wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
sudo apt-key add archive.key
sudo wget -q -O \
/etc/apt/sources.list.d/jma-receipt-trusty48.list \
https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-trusty48.list
sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get install -y jma-receipt
wget https://ftp.orca.med.or.jp/pub/data/receipt/outline/update/claim_update.tar.gz
tar xvzf claim_update.tar.gz
sudo bash claim_update.sh
sudo jma-setup
sudo service jma-receipt start
sudo apt-get install -y panda-client2

# passwordの設定
# sudo -u orca /usr/lib/jma-receipt/bin/passwd_store.sh

確認してみます。

$ cat orca.sh

実行はshコマンド

$ sh orca.sh

つぎつぎにコマンドが実行されて、ORCA環境が作成されます。
最後にスクリプトコメントアウトしておいた、パスワードの設定コマンドを入力

$ sudo -u orca /usr/lib/jma-receipt/bin/passwd_store.sh

これで準備は整いました。

クライアントソフト

glclient2を立ち上げます。
f:id:r_beginner:20161204145613j:plain

先ほど決めたパスワードを入力
f:id:r_beginner:20161204145630j:plain

レセプトソフトORCA仮想マシン上でたちあがりました。
f:id:r_beginner:20161204150028p:plain

つぎにネットワーク上の他のPCからレセコンを立ち上げます。
Windows機の場合は、下記からJava Web start版をインストールしてください。

ORCA Project: monsiaj(日医標準レセプトソフトクライアント)

立ち上げたあとは、仮想マシンのコンソールからifconfigでIPaddress確認し、
f:id:r_beginner:20161204150906j:plain

アプリの接続画面にアドレス入力
f:id:r_beginner:20161204151009p:plain

接続すると
f:id:r_beginner:20161204151120p:plain
上手く起動しました。

ORCAデータの定期的バックアップと、復元方法をマスターしてしまえば、業者に委託せずとも管理できそうです。あとは医療事務さんの同意が得られれば、現在のシステムから移行できるかな…。

参考:

  • Ubuntu Desktop 日本語 Remixのダウンロード

https://www.ubuntulinux.jp/download/ja-remix

  • Ubuntu server 14.04で日本語入力できない

Ubuntu server 14.04で日本語入力できない - pandazx's blog

DockerでRとMySQLの環境構築(Ubuntu16.04LTS仮想マシン編)

RとMySQLをDockerで動かす練習です。
今回はUbuntu 16.04 LTSで環境作ります。

まずVMwareでUbuntu64bit16.04LTSの仮想マシンを作っておきます。
f:id:r_beginner:20161129205319p:plain
端末から、

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

パッケージでDockerインストールするときは

$ sudo apt-get install docker.io 

では、次に以前も紹介したHadley packageの入ったrocker/hadleyverse(Docker image)を入れます。

$ sudo docker run -d -p 8787:8787 -v ~:/home/rstudio rocker/hadleyverse

データベースはMySQLにします。

$ sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql

ちゃんとうごいているか確認

$ sudo docker ps

f:id:r_beginner:20161129211745j:plain
大丈夫みたいです。STATUSはUPになってます。

Dockerコンテナのip addressを確認して。

$ ifconfig

f:id:r_beginner:20161129211301j:plain

さてRstudioをブラウザから動かして見ましょう。
ブラウザのアドレスバーに[ip address]:8787と入力します。
Rstudio serverが立ち上がりましたね。
f:id:r_beginner:20161129212203p:plain
Username,Passwordはどちらも"rstudio"で。

Consoleからでも、PackagesタブのInstallボタンでも良いので

install.packages("RMySQL")

まずはMySQLに接続するためのパッケージをインストール。
実際データベースを操作してみましょう。
Rstudioに新規ファイルを作り、下記コードをコピペしてください。

library(RMySQL) 
con <- dbConnect(MySQL(), host="[ip address]", port=3306, dbname="mysql", user="root", password="mysql") 
dbGetQuery(con,"SHOW DATABASES;") 
dbGetQuery(con,"CREATE DATABASE rbeginner;") 
dbGetQuery(con,"SHOW DATABASES;") 
dbDisconnect(con) # 終わったらconnectionは切りましょう 

順番にRUNボタンで実行すると。最初の"SHOW DATABASES;"ではなかったものが、2回めにできていますね。
本当にMySQLにrbegginerのデータベースができているでしょうか?

もういちどUbuntu端末に戻ります。

$ sudo docker exec -it mysql bash

mysqlコンテナに入ります。

# mysql -u root -pmysql
mysql> show databases;

f:id:r_beginner:20161129214240j:plain

できていますね。Dockerは環境構築が簡単なので良いですね。