对单个行执行 t 检验

Performing t-test on individual rows

希望得到一些帮助(希望)对有知识的人来说足够简单。

我正在处理一个包含 111 列和 300 行的数据集。前 70 列是对照数据,第 71-111 列包含糖尿病患者的数据。我在第一行执行了以下 t 检验:

row1 <- data[1:1,]

control_cols <- c(1:70)
control <- row1[control_cols]

diabetes_cols <- c(71:111)
diabetes <- row1[diabetes_cols]

t.test(control, diabetes, mu=0, paired = F, conf.level=0.95)

有什么方法可以使用 apply 函数自动执行此操作以对每一行执行 t 检验,以便我可以单独查看每一行的 p 值?

您可以使用 apply 对每一行执行 t-test,并将结果分配给 data

中的新列
data["pvalue"] = apply(data,1,function(r) t.test(r[1:70], r[71:111])$p.value)