LoginSignup
yagihashi
@yagihashi

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PythonでRのlibrary(multcomp)が実行できません。

解決したいこと

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

No Answers yet.

Your answer might help someone💌