亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

比較 rpy2 中的方法

比較 rpy2 中的方法

不負相思意 2022-12-20 14:29:02
我有一個 rpy2 腳本:from rpy2.robjects.packages import importrbinom = importr('binom')from rpy2 import robjectsrobjects.r('''library(binom)p = seq(0,1,.01)coverage = binom.coverage(p, 10, method="bayes", type = "central")$coverage''')我想用它來比較方法列表的結果:methods = [("bayes", type = "central"),("asymptotic")]for method in methods:    robjects.globalenv["method"] = robjects.r(method)    robjects.r('''library(binom)    p = seq(0,1,0.01)    coverage = binom.coverage(p, 10, method=method)$coverage    ''')第一行給了我:invalid syntax我想包括貝葉斯方法的“類型”,但是當我刪除它以獲取列表中的語法時,我仍然收到錯誤消息:object 'bayes' not found 
查看完整描述

1 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

robjects.r()收到一個字符串,因此對于此特定任務,您只需將單詞 method 替換為正確的字符串即可。使用兩個引號(單引號和雙引號)就可以解決問題,因為.replace()會丟棄外部引號并替換文本,同時保留單引號。


from rpy2.robjects.packages import importr

binom = importr('binom')

from rpy2 import robjects


methods = ["'bayes', type='central'","'asymptotic'"]

for method in methods:

    r_string = """library(binom)

    p = seq(0,1,0.01)

    coverage = binom.coverage(p, 10, method=TECHNIQUE)$coverage

    """.replace('TECHNIQUE',method)

    robjects.r(r_string)


查看完整回答
反對 回復 2022-12-20
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號