尝试 运行 许多方差分析并为每一行获取 F 值

Trying to run many anovas and get an F value for each row

我正在使用如下所示的数据集。现在我知道这不是 R 喜欢的格式类型。我知道如何整理数据,但我不确定要为每个 unique_id 获得 F 统计量 需要做什么,这是我的目标.有没有简单的方法可以做到这一点?否则有没有一种方法可以使用某种类型的应用函数来独立整理每一行,执行方差分析,然后将 F 统计信息添加为新列?

unique_id   heart   heart   heart   kidney  kidney  kidney  cortex  cortex  cortex
373020.8    1.39    1.18    1.30    2.71    2.96    2.52    1.97    1.67    1.44
371588.9    1.93    2.35    2.50    2.54    1.63    2.23    2.68    2.89    1.86
367772.8    0.42    0.51    0.97    1.02    0.03    0.82    0.01    0.90    1.01

我偏爱 data.tables,您可以在熔化数据后使用 DT 轻松完成此操作。这是我的看法,DT 作为您的 data.table,其中包含您提供的信息。

DT <- dt<- melt(dt, 
      id.vars = c("unique_id"),
      measure.vars = c("heart","cortex","kidney"))

DT[,fstat:=summary(aov(value~variable))[[1]][1,"F value"],by=unique_id]

这通过 unique_id 计算 F-Stat 并且应该有效。