- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在通过 RPy 连接 nlme 和 lme4 R 函数,我想从我的 python 控制台访问输出摘要。
我运行以下代码:
test1=nlme.lme(r.formula('Pupil~CoI*Time'), random=r.formula('~1|ID'),data=dfr)
test2=nlme.lme(r.formula('Pupil~CoI*measurement'),random=r.formula('~1|ID'),data=dfr)
test1_sum= r.summary(test1)
test2_sum= r.summary(test2)
print test1_sum
print test2_sum
对于 nlme,对于 lme4:
test1=lme4.lmer(r.formula('Pupil~CoI*Time+(1|ID)'),data=dfr)
test2=lme4.lmer(r.formula('Pupil~CoI*measurement+(1|ID)'),data=dfr)
test1_sum= r.summary(test1)
test2_sum= r.summary(test2)
print test1_sum
print test2_sum
要获取包含数据和显式导入的代码片段,请参阅此 IPython notebook .
在所有情况下,我都会得到大量的打印输出,其中包括一个非常长的部分,如下所示:
Data: structure(list(CoI = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L ......
我想获得更多的总结:
Random effects:
Formula: ~1 | ID
(Intercept) Residual
StdDev: 0.2201214 0.1199874
Fixed effects: Pupil ~ CoI * measurement
Value Std.Error DF t-value p-value
(Intercept) 1.2068660 0.06369911 5769 18.946357 0
CoIhard -0.0394413 0.00629117 5769 -6.269306 0
measurement -0.0002743 0.00003207 5769 -8.554287 0
CoIhard:measurement 0.0005227 0.00004536 5769 11.524511 0
Correlation:
(Intr) CoIhrd msrmnt
CoIhard -0.049
measurement -0.060 0.612
CoIhard:measurement 0.043 -0.865 -0.707
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-9.86773055 -0.37638950 0.02085029 0.43203795 4.97364143
Number of Observations: 5784
Number of Groups: 12
(包含在我得到的内容中,但仅在上述内容之后出现数千个条目)我该如何实现?
最佳答案
正确的方法是使用.rx2()
方法,有多种不同的使用方法:
In [43]:
print test2_sum.names
Unable to unlink tempfile c:\docume~1\x60t\locals~1\temp\tmpnhw4n4
[1] "methTitle" "objClass" "devcomp" "isLmer" "useScale"
[6] "logLik" "family" "link" "ngrps" "coefficients"
[11] "sigma" "vcov" "varcor" "AICtab" "call"
[16] "residuals"
In [44]:
print test2_sum.rx2('vcov') # to access R type print out
Unable to unlink tempfile c:\docume~1\x60t\locals~1\temp\tmpebn3f1
4 x 4 Matrix of class "dpoMatrix"
(Intercept) CoIhard measurement CoIhard:measurement
(Intercept) 93253.4275120 -80.6588422 -0.503069702 0.503069702
CoIhard -80.6588422 161.3176844 0.503069702 -1.006139404
measurement -0.5030697 0.5030697 0.004192248 -0.004192248
CoIhard:measurement 0.5030697 -1.0061394 -0.004192248 0.008384495
In [45]:
print test2_sum.rx2('varcor') # to access R type print out
Unable to unlink tempfile c:\docume~1\x60t\locals~1\temp\tmpcad6ld
Groups Name Std.Dev.
ID (Intercept) 1057.39
Residual 242.24
In [46]:
list(test2_sum.rx2('varcor')) # to get the values
Out[46]:
[<Matrix - Python:0x0782CEB8 / R:0x0E97FB28>
[1118073.223847]]
In [47]:
list(test2_sum.rx2('varcor')[0]) # to get the values
Out[47]:
[1118073.2238471208]
你将通过跳过calls
和residuals
来摆脱大部分事情,尝试:
for i, v in enumerate(list(test2_sum.names)):
if v not in ['call', 'residuals']:
print '%s========================================================='%i, v
print test2_sum.rx2(v)
我认为访问 lme4
结果(使用 rpy2
)的 tTable
的最佳方法是将其转换为 Pandas
DataFrame
:
In [73]:
print com.convert_robj(test2_sum.rx2('tTable'))
Value Std.Error DF t-value p-value
(Intercept) 2480.515542 305.374210 5769 8.122872 5.521357e-16
CoIhard -90.840336 12.701090 5769 -7.152169 9.602962e-13
measurement -0.288709 0.064748 5769 -4.458998 8.390496e-06
CoIhard:measurement 1.049136 0.091567 5769 11.457595 4.546122e-30
[4 rows x 5 columns]
print
输出与R
打印不完全匹配,但很容易完成:
In [87]:
print test2_sum.rx2('tTable').__str__().replace('\r\n\r\n', '\n')
Value Std.Error DF t-value p-value
(Intercept) 2480.5155423 305.37420990 5769 8.122872 5.521357e-16
CoIhard -90.8403359 12.70108989 5769 -7.152169 9.602962e-13
measurement -0.2887093 0.06474757 5769 -4.458998 8.390496e-06
CoIhard:measurement 1.0491363 0.09156689 5769 11.457595 4.546122e-30
关于python - 在 RPy 中获取 nlme.lme() 或 lme4.lmer() 的清晰摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24216036/
你好,我是 Cone。 首先,我们思考一个问题。 为什么会有操作系统? 在我们教科书上会提到分时系统、批处理系统等等现代操作系统前的中间产物,也会讲到管理硬件的功能,但似乎没有讲到为什么有
假设我只想清除顶部的所有条目,清除 Map 的 Map 的最合适方法是什么 -关卡 map ? Map> nestedMap; 方法A:仅清除顶层 map 。 nestedMap.clear();
我时不时遇到一个问题,我不确定解决方案是什么。 我有一个 2 列布局(左边是 strit,然后是主要区域)。在主要区域,我有时会有一个次要的 2 栏布局(例如 - 对于新闻部分,那里有一个图标,然后是
我有以下代码: Created Created .clearfix:after{ clear: both; bdy: "."; display
有没有办法CLS单行输出?我不相信 CLS 有任何开关,所以也许更好的问题是: 有什么办法吗 保留所有以前的输出以供重复使用? 或 捕获当前显示的输出(就像通过标记和复制一样)? 我只是想通过实时反馈
我有一个流式布局。当布局足够宽时,一些 div(.one 和 .two)可以全部水平排列在一条线上。 当布局最终被挤压时,右侧 float 的 div (.two) 最终会出现在多行上。有没有一种方法
我面临着一个我真的不知道从哪里开始解决的问题,所以我希望这个问题不要太宽泛。 我正在制作并在屏幕上应用它,我将有一个包含一些信息的矩形(假设它是一个 )并且我需要用另一个矩形覆盖那个矩形,所以当用户
我的 UITableView 跨越 iPhone View 的大小,并有一个 tableHeaderView 保存附加内容。想要标题清晰,表格的其余部分白色,我将表格的背景颜色设置为清晰,并在 Vie
我一直在使用 ImageMagick,但它产生的结果非常模糊。 convert -density 300 ../images/favicons/procensus.svg -background tr
我有手动数据的工作项目,但我想在我的项目中添加 json 解析。我认为我需要帮助。 (必须是实时解析,如果可能的话,新的item添加时会自动释放) 我的 TableView 代码 - (void)sc
我正在制作一个响应式网站。我有 3 个 div (.block),我需要将它们水平放置在一起。 当屏幕足够宽时,这很容易实现。但是,当我使浏览器更窄时,第三个 div (3) 换行到下一行,但我想要的
如何在 Swift 3 中使这个 UITableView 和它的单元格清晰。 我已经完成了前面的线程,但我仍然得到一个白色背景。 正如您从我的代码中看到的,我已经尝试了提到的各种方法: overrid
当我使用 为了显示图标,它在谷歌浏览器中看起来非常清晰锐利。然而,当我在 Firefox 或 Internet Explorer 中打开 svg 时,图标看起来很模糊。 这些浏览器似乎将图标呈现为半像
我是一名优秀的程序员,十分优秀!