1

在此处输入图像描述我有一些与治疗前后血液中化学物质水平有关的数据,并且有 4 个治疗组 - ABCD。有人告诉我,我可以运行弗里德曼测试来一次比较所有这些变量。我试过的代码是:

attach(LiverData.Wide)
friedman.test(ALPB ~ ALPM | Group)

我收到此错误:

Error in friedman.test.default(c(80L, 37L, 52L, 36L, 39L, 48L, 71L, 81L,  : 
not an unreplicated complete block design
  • ALPB 是治疗前的 ALP 水平。
  • ALPM 是 ALP 之后的级别。
  • 组是所有不同组的列标题。

所以我需要弄清楚如何将数据转换为块形式,以便我可以运行测试 - 有什么想法吗?

注意:我是 R 的新手,很抱歉提出一个非常基本的问题!

另外,我只关注 ALPB 和 ALPM - 我对其他专栏不感兴趣

4

1 回答 1

1

它需要未复制的数据,这意味着如果您有复制,您可以总结它们或将观察视为一个块

例如:

LiverData.Wide = data.frame(
obs=rep(1:10,4),
APLB = rnorm(40,rep(1:4,each=10),1),
APLM = rnorm(40,rep(2*(1:4),each=10),1),
Group = rep(c("A","B","C","D"),each=10)
)

然后,您平均每组的测量值并使用矩阵测试 APLB 和 APLM 之间的差异:

sumData = aggregate(APLB ~ APLM_grp + Group,data=LiverData.Wide,mean)
friedman.test(as.matrix(sumData[,2:3]))

或者,如果您将观察视为一个块:

friedman.test(as.matrix(LiverData.Wide[,2:3]))
于 2020-01-17T09:58:54.003 回答