问题标签 [manova]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何使用 R 将协变量添加到设计之间的 MANCOVA?
我想用 R 运行一个组间设计 MANCOVA,有两个因变量(计划内和计划外),两个主题间变量(类型 [男性,女性] 和 Urb [是,否]),一个主题内变量(期间[之前,期间])和一个协变量(BMI)。
这是我所做的(有关类似计算,请参见此处:https ://stats.stackexchange.com/questions/183441/correct-way-to-perform-a-one-way-within-subjects-manova-in- r ):
因此,设计中的组间方差分析在这里效果很好。但是,我未能在该模型中添加协变量(即 BMI)。你知道我怎样才能做到这一点吗?
注意:我也尝试使用 (great) mancova()
function ,其中包含一个协变量参数;但是有了这个函数,我不知道如何指定 Period 是一个主题内变量......
r - summary.manova 输出显示来自 summary.manova 统计表和 broom tidy() 的不同 p 值
我注意到summary.manova()
R 中的函数产生了两个不同的 p.values。一个在控制台中打印的表格中,另一个在stats
位于摘要对象中的表格中。应该报告哪些 p.values?值略有不同。tidy()
我在使用from 函数时第一次注意到这个问题broom
,它是从 stats 表而不是控制台报告 p.values。
我可以使用 iris 数据框重新创建问题:
r - 如何从 Manova 输出中提取 p 值
我正在通过 R 中的 manova 公式测试 Hotelling T^2 测试。我正在测试不同的相同尺寸,因此有多个 Manova 表输出。下面是我如何为整个样本生成 manova
我想知道如何从每个表中提取 p 值。我试图跟随但没有这样的运气:
但每次返回NULL
r - R:需要使用双向(阶乘)MANOVA 执行 boxM() 的示例 - 我收到错误消息
我正在尝试为双向 MANOVA 运行 Box 的协方差矩阵同质性 M 检验。
我从昨天下午开始搜索一个例子。我看到了许多将 boxM 与单向 MANOVA 结合使用的示例。在每种情况下,如果源还涵盖双向 MANOVA,则它们不包括演示在双向情况下运行 boxM 测试。我只需要一个工作示例。一旦我掌握了语法,我就可以让它工作。
biotools 包中的 boxM 函数表示它适用于一个分类因子(单向 MANOVA)。
https://www.rdocumentation.org/packages/biotools/versions/3.1/topics/boxM
heplots 包中的 boxM 函数表示它适用于一个或多个分类因素——https:
//www.rdocumentation.org/packages/heplots/versions/1.3-5/topics/boxM
-- 但是,当我尝试使用它时出现错误:“模型必须是完全交叉的公式。”
下面,我展示了单独使用任何一个因素时我都没有得到错误,但是任何交叉因素的安排都会产生这个错误。注意:在跨变量的情况下运行 Levene 的测试时,我没有收到此错误。
Response1、Response2 和 Response3 是连续的。
Factor1 有 2 个水平。Factor2 有 5 个级别。
r - R car::Anova 的更快替代方案,用于预测变量子集的平方叉积矩阵计算总和
我需要使用 Y (nxq) 和 X (nxp) 在多元线性模型中计算平方叉积矩阵的总和(实际上是该矩阵的迹线)。这样做的标准 R 代码是:
这必须完成数千次,不幸的是,当预测变量的数量相对较大时,它会变得很慢。通常我只对s
预测变量的一个子集感兴趣,我试图重新实现这个计算。虽然我的实现直接将线性代数转换为s
= 1(下)对于小样本量(n)来说更快,
car
对于大 n 仍然更快:
我已经尝试过Rcpp
非常成功的实现,因为 R 中的这些矩阵产品已经使用了非常有效的代码。
关于如何更快地做到这一点的任何提示?
更新
阅读答案后,我尝试了这篇文章中提出的解决方案,该解决方案依赖于 QR/SVD/Cholesky 分解进行帽子矩阵计算。然而,计算所有 p = 30 个矩阵似乎car::Anova
仍然比我只计算一个 (s = 1) 更快!例如 n = 5000,q = 10:
更新 2
目前最好的解决方案是检查car::Anova
代码(即函数car:::Anova.III.mlm
和后续car:::linearHypothesis.mlm
)并重新实现它们以考虑预测变量的子集,而不是全部。
相关代码car
如下(我跳过了检查,并简化了一点):
然后只需选择术语子集。
r - R中的Anova函数(汽车库)出错
我正在进行多元多元回归。作为响应变量,我有一个函数 [ y(t) ],我已在 27 个点的网格和 3 个标量回归量 ( x1,x2,x3 ) 上离散化。我已经用 nxq (q=27) 矩阵Y替换了响应函数,我需要解决的是:
Y = XB + E
其中X [nxp (p=3)] 是x1,x2,x3列堆叠,B是回归系数的 ap×q 矩阵,E是 n×q 误差矩阵。到目前为止,我所做的是调用 lm:mylm<-lm(Y ~ X)
它在预测变量上分别回归每个因变量。
现在我想确定一个预测变量是否对我得到的所有 27 个模型都有贡献,但我不知道如何克服我得到的错误。当我打电话时,Anova
这就是我得到的
并且,例如,如果我想测试 x2 在统计上是否不同于 0,我会得到以下信息
如果问题与矩阵的非奇异性有关,我该如何要求使用伪逆?
编辑 - - - - - - -
r - R 中的 MANOVA。如何解决此错误:“1L 中的错误:object$rank”
我manova()
在R中运行。当我使用时,summary.aov()
我收到以下错误:Error in 1L:object$rank
这是数据
(Subj
并且Buty
是因素)
manova(cbind(dN1, nN1, S1, dR1, nR1) ~ Buty + Error(Subj/Buty), data = d)
summary()
, coefficients
, 和residuals
所有工作,但不是summary.aov()
。这是一个问题,因为我需要单个数据列的读数(例如,系数的 p 值)。
知道如何解决吗?非常感激!
python - 使用 statsmodel 从 MANOVA 测试结果中仅提取 p 值
我已经使用 statsmodel 运行了 MANOVA 测试,如下所示:
结果我得到了下表:
我的问题是,我如何只提取 p 值?在这篇文章之后,我尝试过:
但我得到了索引错误,而且我不确定我是否理解它背后的逻辑。
IndexError:只有整数、切片 (
:
)、省略号 (...
)、numpy.newaxis (None
) 和整数或布尔数组是有效的索引
我的最终目标是仅将 p 值保存为新变量,例如从表中“提取”p 值。
也许了解这个表是如何生成的也可能会有所帮助,因为我不确定这是什么(它不是熊猫而且看起来不像矩阵,所以我怎么能从那里切任何东西?)
r - 如何在 R 中正确执行 3-way MANOVA?
一项实验评估了 3 个因素和 3 个对治疗的反应。选择的因素是使用的化学品 ( Chemical
)、混合速度 ( Speed
) 和固体量 ( Solids
)。观察到的反应是Response1
、Response2
和Response3
。
使用本教程,我根据Chemical
因子对 3 个响应执行了 1-way MANOVA。但是,我想根据 3 个因素进行 3-way MANOVA 来评估 3 个响应。在 MWE 我做了一个尝试,但我不知道这种方法是否正确。
我也接受可以为我提供更多信息的包裹建议或其他统计测试。
r - MANOVA中的交互项与R
我想从 R 中关于交互项的多元分析中计算 Pillai 的轨迹。
我的数据的一个子集是:
哪个子集看起来像:
我可以像这样运行 MANOVA:
但是我想要一个交互Age*ROI_Coded*leftright
并且无法弄清楚如何将它适当地输入到模型中。它似乎没有采用线性模型之类的交互术语。