2024-09-30 18:13:24 发布
网友
第一次在Python中使用RPy2实现。尝试用两个因素进行单因素方差分析。它在另一台机器上使用R,但Python不喜欢这种语法。任何想法都是感激的!在
from rpy2.robjects import aov huanova = aov(formula = df1['human_den'] ~ df1['region']+df1['years'])
错误消息指向tilda。在
上面来自musically_ut的答案可以使用,但是您需要使用importr加载包含aov函数的“stats”包,如this question所示:
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)
根据documentation about Formulae in 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)
在python中,Tilde~是一元的,但您将其作为二进制使用。您可能需要:
~
huanova = aov(formula = df1['human_den'] + ~ df1['region']+df1['years'])
注意,我在颚化符前面加了一个加号。在
上面来自musically_ut的答案可以使用,但是您需要使用importr加载包含aov函数的“stats”包,如this question所示:
根据documentation about Formulae in Rpy2,必须将公式作为字符串传递。这是一种方法:
在python中,Tilde
~
是一元的,但您将其作为二进制使用。您可能需要:注意,我在颚化符前面加了一个加号。在
相关问题 更多 >
编程相关推荐