问题标签 [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.

0 投票
0 回答
118 浏览

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 是一个主题内变量......

0 投票
1 回答
87 浏览

r - summary.manova 输出显示来自 summary.manova 统计表和 broom tidy() 的不同 p 值

我注意到summary.manova()R 中的函数产生了两个不同的 p.values。一个在控制台中打印的表格中,另一个在stats位于摘要对象中的表格中。应该报告哪些 p.values?值略有不同。tidy()我在使用from 函数时第一次注意到这个问题broom,它是从 stats 表而不是控制台报告 p.values。

我可以使用 iris 数据框重新创建问题:

0 投票
1 回答
168 浏览

r - 如何从 Manova 输出中提取 p 值

我正在通过 R 中的 manova 公式测试 Hotelling T^2 测试。我正在测试不同的相同尺寸,因此有多个 Manova 表输出。下面是我如何为整个样本生成 manova

我想知道如何从每个表中提取 p 值。我试图跟随但没有这样的运气:

但每次返回NULL

0 投票
1 回答
461 浏览

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 个级别。

0 投票
1 回答
131 浏览

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如下(我跳过了检查,并简化了一点):

然后只需选择术语子集。

0 投票
1 回答
162 浏览

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,我会得到以下信息

如果问题与矩阵的非奇异性有关,我该如何要求使用伪逆?

编辑 - - - - - - -

在这里你可以找到我的数据

0 投票
1 回答
133 浏览

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 值)。

知道如何解决吗?非常感激!

0 投票
1 回答
180 浏览

python - 使用 statsmodel 从 MANOVA 测试结果中仅提取 p 值

我已经使用 statsmodel 运行了 MANOVA 测试,如下所示:

结果我得到了下表:

我的问题是,我如何只提取 p 值?在这篇文章之后,我尝试过:

但我得到了索引错误,而且我不确定我是否理解它背后的逻辑。

IndexError:只有整数、切片 ( :)、省略号 ( ...)、numpy.newaxis ( None) 和整数或布尔数组是有效的索引

我的最终目标是仅将 p 值保存为新变量,例如从表中“提取”p 值。

也许了解这个表是如何生成的也可能会有所帮助,因为我不确定这是什么(它不是熊猫而且看起来不像矩阵,所以我怎么能从那里切任何东西?)

0 投票
0 回答
25 浏览

r - 如何在 R 中正确执行 3-way MANOVA?

一项实验评估了 3 个因素和 3 个对治疗的反应。选择的因素是使用的化学品 ( Chemical)、混合速度 ( Speed) 和固体量 ( Solids)。观察到的反应是Response1Response2Response3

使用本教程,我根据Chemical因子对 3 个响应执行了 1-way MANOVA。但是,我想根据 3 个因素进行 3-way MANOVA 来评估 3 个响应。在 MWE 我做了一个尝试,但我不知道这种方法是否正确。

我也接受可以为我提供更多信息的包裹建议或其他统计测试。

0 投票
0 回答
46 浏览

r - MANOVA中的交互项与R

我想从 R 中关于交互项的多元分析中计算 Pillai 的轨迹。

我的数据的一个子集是:

哪个子集看起来像:

我可以像这样运行 MANOVA:

但是我想要一个交互Age*ROI_Coded*leftright并且无法弄清楚如何将它适当地输入到模型中。它似乎没有采用线性模型之类的交互术语。