PythonでRのlibrary(multcomp)が実行できません。
Q&AClosed
解決したいこと
Pythonのpyperを使用してRを実行するプログラムを作成しています。
2元配置分散分析と共分散分析はうまくいきました。
現在Dunnettの検定に取り組んでおります。
R単体ではうまく結果を得られるのですが、PyhonからRを実行すると何も結果が帰ってきません。
RのDunnettの検定では「library(multcomp)」としてmultcompパッケージを呼び出す必要があるのですが、
どうもこの箇所でエラーとなっているようです。
PythonでRのlibrary(multcomp)を実行できる方法を教えてください。
よろしくお願いします。
発生している問題・エラー
dunnett.txt
# dunnettソースファイル
dunnett <- function(dataset){
gun = factor(dataset$gun)
atai = dataset$atai
library(multcomp) #←ここでエラーとなっているようです。
summary(glht(aov(atai~gun),linfct=mcp(gun="Dunnett")))
}
dunnett.py
# Pythonソース
# Python実行パス
python_path = 'C:/python'
# excelファイルからデータセットの読み込み
df = pd.read_excel(python_path + '/dunnett_data.xlsx')
# Rを利用するためのインスタンスの生成
r = pyper.R(RCMD="C://Program Files//R//R-4.1.0//bin//x64//R", use_numpy='True', use_pandas='True')
# DataFrameをRにおけるデータに格納
r.assign('data', df)
# dunnettソースファイルの読み込み
r("source('" + python_path + "/dunnett.txt', encoding='utf-8')")
# R実行
result = r('dunnett(data)') #←結果がなにも帰ってきません。
自分で試したこと
Pythonから読み込むソースファイルの該当箇所はコメントアウトして、以下のようにPythonに直接記述してもダメでした。
dunnett.py
# DataFrameをRにおけるデータに格納
r.assign('data', df)
r('library(multcomp)') #←ここにこのように直接記述しましたがダメでした。
# dunnettソースファイルの読み込み
r("source('" + python_path + "/dunnett.txt', encoding='utf-8')")
# R実行
result = r('dunnett(data)')
0