R - 如何将数据转换为块形式以进行弗里德曼测试?



在此处输入图像描述我有一些与治疗前后血液中化学物质水平有关的数据,并且有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之后的水平。
  • 是所有不同组的列标题。

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

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

另外,我只关注 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]))

最新更新