gpt4 book ai didi

r - 对按因子拆分的数据帧中的许多列应用 t 检验

转载 作者:行者123 更新时间:2023-12-04 10:40:47 26 4
gpt4 key购买 nike

我有一个带有两个级别的因子列和许多数字列的数据框。我想按因子列拆分数据帧并对列对进行 t 检验。

使用示例数据集 Puromycin 我希望结果看起来像这样:

Variable    Treated Untreated   p-value    Test-statistic CI of difference**** 
Conc 0.3450 0.2763 XXX T XX - XX
Rate 141.58 110.7272 xxx T XX - XX

我想我正在寻找一种使用 PLYR 的解决方案,该解决方案可以将上述结果输出到一个不错的数据帧中。

(嘌呤霉素仅包含两个数字变量,但我正在寻找的解决方案适用于具有许多数字变量的数据框)

更新 - 我会尽力澄清我的意思。

我想从看起来像这样的数据出发:
Grouping variable   var1    var2    var3    var4    var5
1 3 5 7 3 7
1 3 7 5 9 6
1 5 2 6 7 6
1 9 5 7 0 8
1 2 4 5 7 8
1 2 3 1 6 4
2 4 2 7 6 5
2 0 8 3 7 5
2 1 2 3 5 9
2 1 5 3 8 0
2 2 6 9 0 7
2 3 6 7 8 8
2 10 6 3 8 0

对于如下所示的结果数据框:
"Mean in group 1"   "Mean in group 2"  "P-value of difference" "N"

var1 ## ## ## ##
var2 ## ## ## ##
var3 ## ## ## ##
var4 ## ## ## ##
var5 ## ## ## ##

也许它是我正在寻找的 mapply 的东西,因为我想通过两级因子将我的数据帧拆分为 dataframe1 和 dataframe2,并将函数(t-test)应用于 dataframe1 和 dataframe2 的第一部分,然后是对 dataframe1 和 dataframe2 的第二部分进行 t 检验,然后对 dataframe1 和 dataframe2 的第三部分进行 t 检验,依此类推,对由因子拆分生成的所有列对。

最佳答案

也许这会产生您正在寻找的结果:

df <- read.table(text="Group   var1    var2    var3    var4    var5
1 3 5 7 3 7
1 3 7 5 9 6
1 5 2 6 7 6
1 9 5 7 0 8
1 2 4 5 7 8
1 2 3 1 6 4
2 4 2 7 6 5
2 0 8 3 7 5
2 1 2 3 5 9
2 1 5 3 8 0
2 2 6 9 0 7
2 3 6 7 8 8
2 10 6 3 8 0", header = TRUE)


t(sapply(df[-1], function(x)
unlist(t.test(x~df$Group)[c("estimate","p.value","statistic","conf.int")])))

结果:
     estimate.mean in group 1 estimate.mean in group 2   p.value statistic.t conf.int1 conf.int2
var1 4.000000 3.000000 0.5635410 0.5955919 -2.696975 4.696975
var2 4.333333 5.000000 0.5592911 -0.6022411 -3.104788 1.771454
var3 5.166667 5.000000 0.9028444 0.1249164 -2.770103 3.103436
var4 5.333333 6.000000 0.7067827 -0.3869530 -4.497927 3.164593
var5 6.500000 4.857143 0.3053172 1.0925986 -1.803808 5.089522

关于r - 对按因子拆分的数据帧中的许多列应用 t 检验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com