[英]ANOVA syntax in RPy2
首次在Python中使用RPy2實現。 嘗試使用兩個因素進行單向方差分析。 它可以在另一台機器上的R中工作,但是Python不喜歡這種語法。 任何想法表示贊賞!
from rpy2.robjects import aov
huanova = aov(formula = df1['human_den'] ~ df1['region']+df1['years'])
錯誤消息指向tilda。
huanova = aov(formula=df1['human_den'] ~ df1['region']+df1['years'])
^
SyntaxError: invalid syntax
根據Rpy2中有關公式的文檔 ,您必須將公式作為字符串傳遞。 這是一種實現方式:
from rpy2.robjects import aov
from rpy2.robjects import Formula
formula = Formula('human_den ~ region + years')
env = formula.environment
env['human_den'] = df1['human_den']
env['region'] = df1['region']
env['years'] = df1['years']
huanova = aov(formula = formula)
從以上回答musically_ut會工作,但你需要加載“統計”包,其中包含使用importr的AOV函數,如在這個問題 :
from rpy2.robjects import Formula
from rpy2.robjects.packages import importr
stats = importr('stats')
formula = Formula('human_den ~ region + years')
env = formula.environment
env['human_den'] = df1['human_den']
env['region'] = df1['region']
env['years'] = df1['years']
huanova = stats.aov(formula = formula)
波浪號~
是蟒蛇一元,但你使用它作為二進制。 您可能想要:
huanova = aov(formula = df1['human_den'] + ~ df1['region']+df1['years'])
注意,我在Tilde之前添加了PLUS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.