【问题标题】:Trying to run many anovas and get an F value for each row尝试运行许多方差分析并为每一行获取一个 F 值
【发布时间】:2017-02-18 03:35:11
【问题描述】:

我正在使用如下所示的数据集。现在我知道这不是 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

【问题讨论】:

  • 你知道如何获取“[one] unique_id 的 F 统计量”吗?
  • 如果它有自己的数据框,是的。
  • 您将如何计算该数据框的一行的 F 统计量?每一行都是唯一的唯一 ID 吗?即在该列中没有unique_id 的重复?
  • 对您的第二个和第三个问题是。对于您的第一个,我将比较心脏与肾脏与皮质(每个都有三个重复)以获得每行的 1 F 统计数据。我应该更清楚。
  • 究竟是什么代码?给定一个由九个值组成的向量,像这样分成三组,你会运行什么?

标签: r anova


【解决方案1】:

我偏爱 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 并且应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    相关资源
    最近更新 更多