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
- ALPB 是治疗前的 ALP 水平。
- ALPM 是之后的 ALP 水平。
- 组是所有不同组的列标题。
所以我需要弄清楚如何将数据转换成块形式,以便我可以 运行 测试 - 有什么想法吗?
注意:我是 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]))
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
- ALPB 是治疗前的 ALP 水平。
- ALPM 是之后的 ALP 水平。
- 组是所有不同组的列标题。
所以我需要弄清楚如何将数据转换成块形式,以便我可以 运行 测试 - 有什么想法吗?
注意:我是 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]))