为什么 R 和 statsmodels 给出的方差分析结果略有不同?

2023-12-13

使用小型 R 样本数据集和来自的 ANOVA 示例统计模型,其中一个变量的自由度报告不同,F 值结果也略有不同。也许他们的默认方法略有不同?我可以设置 statsmodels 以使用 R 的默认值吗?

import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols


##R code on R sample dataset

#> anova(with(ChickWeight, lm(weight ~ Time + Diet)))
#Analysis of Variance Table
#
#Response: weight
#           Df  Sum Sq Mean Sq  F value    Pr(>F)
#Time        1 2042344 2042344 1576.460 < 2.2e-16 ***
#Diet        3  129876   43292   33.417 < 2.2e-16 ***
#Residuals 573  742336    1296
#write.csv(file='ChickWeight.csv', x=ChickWeight, row.names=F)

cw = pd.read_csv('ChickWeight.csv')
cw_lm=ols('weight ~ Time + Diet', data=cw).fit()   

print(sm.stats.anova_lm(cw_lm, typ=2))
#                  sum_sq   df            F         PR(>F)
#Time      2024187.608511    1  1523.368567  9.008821e-164
#Diet       108176.538530    1    81.411791   2.730843e-18
#Residual   764035.638024  575          NaN            NaN

数据集的头部和尾部是相同的*,也是重量和时间的平均值、最小值、最大值、中值。


看起来“饮食”在 statsmodels 调用中只有一个自由度,这意味着它可能被视为连续变量,而在 R 中它有 3 个自由度,因此它可能是一个因子/离散随机变量。

要使 ols() 将“饮食”视为分类随机变量,请使用

cw_lm=ols('weight ~ C(Diet) + Time', data=cw).fit()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 R 和 statsmodels 给出的方差分析结果略有不同? 的相关文章

随机推荐

  • 位置之前的第一个索引

    我有一个字符串和该字符串中的索引 并且想要获取该索引之前的子字符串的第一个位置 例如 在字符串中 this is a test string that contains other string for testing 是否有一个函数 给定
  • Visual Basic .NET 中的 C 样式指针

    我研究 Visual Basic NET 中的 C 风格指针有一段时间了 我遇到过http support microsoft com kb 199 824 wa wsignin1 0但我不知道这是否正确或如何应用 我已经使用 c 中的程序
  • Angularjs 与 html5Mode 的正常链接

    我正在 html 5 模式下使用 angularjs 它似乎控制了页面上的所有 href 但是 如果我想要链接到应用程序同一域中但实际上不在应用程序中的某些内容 该怎么办 一个例子是 pdf If i do a href pdfurl An
  • 如何使用 Google 地图将地址地理编码为纬度/经度

    我希望能够在谷歌地图上绘制几家公司 并了解我需要对这些公司进行地理编码 我还在地图上的多个标记下方提供了代码 如何对多个公司地址进行地理编码 使用以下地址作为第一个示例 并将其合并到我当前的代码中 我真的需要有人的帮助 因为我无法理解 Go
  • 重构代码以避免反模式

    我有一个 BusinessLayer 项目 其中包含以下代码 域对象是FixedBankAccount 它实现了IBankAccount 存储库被制作为域对象的公共属性 并被制作为接口成员 如何重构它以使存储库不再是接口成员 域对象 Fix
  • 此 C# FluentNHibernate 组件映射的等效 VB.NET 代码是什么?

    我是一名 C 程序员 只能编写 VB NET 代码 在为我当前的客户进一步探索 NHibernate 时 我遇到了 FluentNHibernate 我发现它非常有吸引力 但现在 我想知道如何将组件映射的 C 代码 翻译 为 VB NET
  • c# - 以编程方式将pdf转换为word [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 有谁知道以编程方式将 PD
  • 如何为带有缩略图的纯 CSS/HTML 滑块创建标题,无需 java/jquery

    我正在尝试创建一个滑块 其中包含用于导航的图像缩略图 我还想为每张幻灯片创建一个标题 使其随特定幻灯片一起出现和消失 这就是我现在所拥有的 http jsfiddle net yb02jzbq 源自http thecodeplayer co
  • iOS获取特定的UITableViewCell

    我有一个UIButton在一个习惯中UITableViewCell 单击此按钮会触发事件 myButton addTarget self action selector buttonClicked forControlEvents UICo
  • Python 从类中的另一个函数调用一个函数

    我正在尝试学习 python 但很难理解为什么这个类会抛出错误NameError name self is not defined 我已经关注了如何在类中调用函数 并添加了self 但这没有帮助 这是代码 谁能指出原因 class Back
  • 通过考虑 r (2) 中的分组 Q 矩阵来操作字符向量

    我正在尝试编写基于Group多变的 item map具有项目信息 其中包括显示哪个项目与哪个组关联的 q 矩阵 Group lt c 1 2 3 4 item map lt data frame item id c 21 41 61 72
  • 我想在 php 中 cURL 谷歌搜索结果

    我尝试了以下代码 url http www google co uk q query hl en prmd imvns source lnt tbs ctr countryUK 7CcountryGB cr countryUK 7Ccoun
  • 如何连续改变正弦声音的频率?

    我在用Pygame在窗口中渲染精灵 我想播放正弦声音 其频率取决于y该精灵的位置 我不希望信号相位不连续 实现这一目标的最佳方法是什么 我想出了这个解决方案 改变freq to newfreq然后像这样改变相位 newphase 2 np
  • 如何在 JavaScript 正则表达式中用 (n-1) 次出现的同一字符替换 (n) 次出现的字符

    我的数据是 Hello World I need Hello World 所以基本上 5 次出现的星号被替换为 4 次出现的星号 我怎样才能做到这一点在正则表达式javascript中 注意 星星的数量是动态的 我尝试过此操作 但不确定如何
  • 启动新的 Windows 应用程序:我应该使用 _TCHAR 还是 wchar_t 作为文本?

    我正在用 C 为 Windows 编写一个新的 个人爱好 应用程序 在我之前使用过的低级 Windows 内容中 TCHAR 或只是 TCHAR 用于字符串操作的数组 basic strings 使用有什么好处吗 TCHAR直接使用 Uni
  • LINQ to SQL C# 合并

    给出下表 Length Width Color ID 18 18 blue 1 12 12 red 1 我想生成单列 行 SIZES 18 x 18 12 x 12 我可以在 SQL 中执行此操作 如下所示 DECLARE SIZES VA
  • 通过使用范围解析避免多重继承引起的歧义

    这是多重继承的示例 我使用范围解析运算符而不是虚拟类来解决歧义 struct A int i struct B A struct C A struct D B C void f B i 10 void g std cout lt lt B
  • 减少两个剪切图像之间的间距

    我正在使用剪辑路径来剪辑两个图像 结果是 一切都很好 但我想像这样减少这些图像之间的间距 clip wrap display inline element webkit clip path polygon 0 100 0 0 100 0 6
  • Toast 通知不起作用

    下面的方法在调用设置 Toast 时执行 但在经过一段时间后不会显示任何 Toast Windows 8 Metro 应用程序 Toast 通知是否还需要任何设置 int scheduledToastCounter 1 public voi
  • 为什么 R 和 statsmodels 给出的方差分析结果略有不同?

    使用小型 R 样本数据集和来自的 ANOVA 示例统计模型 其中一个变量的自由度报告不同 F 值结果也略有不同 也许他们的默认方法略有不同 我可以设置 statsmodels 以使用 R 的默认值吗 import pandas as pd