R - 如何将数据转换为块形式以进行 Friedman 测试?

R - how to get data into block form for friedman test?

enter image description here我有一些关于治疗前后血液中化学物质水平的数据,有 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

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

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

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

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

例如:

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]))