如何在rpy2中打印摘要时删除代码

2024-09-27 00:13:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我写这段代码是为了得到DunnetAnova事后测试

import rpy2.robjects as ro
import rpy2.robjects.numpy2ri as npr
from rpy2.robjects.numpy2ri import numpy2ri as np2r
from rpy2.robjects.packages import importr
base = importr("base")
stats = importr('stats')
multcomp = importr('multcomp')

val = np2r(vFC)
exp = base.gl(4,6,24)
tiempo = base.factor(base.rep(base.c(0,2,5,10,15,30),4))

fmla = ro.Formula('val ~ tiempo + exp')
env = fmla.environment
env['val'] = val
env['tiempo'] = tiempo
env['exp'] = exp
anova = stats.aov(fmla)
print base.summary(anova)
Phoc = multcomp.glht(anova, linfct = ro.r('mcp(tiempo="Dunnet")'))
sPhoc = base.summary(Phoc)
print sPhoc

工作很好,但是在分析后我得到了源代码的输出,我怎样才能从这些代码中去掉,并且只从Dunnet分析中得到最终的表呢。在

^{pr2}$

Tags: importenvbaseroasstatsvalrpy2
1条回答
网友
1楼 · 发布于 2024-09-27 00:13:54

如果我从高级接口使用字符串作为R代码,源代码就会消失

将此代码用于第三个块

ro.r.assign('val', val)
ro.r.assign('exp', exp)
ro.r.assign('tiempo', tiempo)
ro.r('anova <- aov(val ~ tiempo + exp)')
ro.r('s.anova <- summary(anova)')
ro.r('spHoc <- summary(glht(anova, linfct=mcp(tiempo="Dunnet")))')
print ro.r('s.anova')
print ro.r('spHoc')
ro.r('capture.output(s.anova, file = "anova.txt", append = TRUE)')
ro.r('capture.output(spHoc, file = "anova.txt", append = TRUE)')

返回不带源代码的结果

^{pr2}$

我仍然不知道当我使用低级接口时,rpy2为什么会这样,但是现在它工作了

相关问题 更多 >

    热门问题