R编程:计算具有格式的数据帧的双样本t检验

时间:2016-03-12 10:21:04

标签: r

晚上好, 我有以下数据框:

Sex A  B  C D  E
M   1 20 45 42 12
F   2 10 32 23 43
M   39 32 2 23 43
M   24 43 2 44 12
F   11 3 4 4 11

如何使用apply函数计算性别变量上面列出的数据框的每个数值变量的双样本t检验。结果应该是一个包含五个的矩阵 列:F.mean(女性的数值变量的平均值),M.mean(数值变量的平均值) 对于男性),t(对于t统计),df(对于自由度)和p(对于p值)。

谢谢!

2 个答案:

答案 0 :(得分:3)

以下是使用err = Pa_OpenStream( &stream, &inputParameters, NULL, /* &outputParameters, */ SAMPLE_RATE, FRAMES_PER_BUFFER, paClipOff, /* we won't output out of range samples so don't bother clipping them */ recordCallback, &data); 边距apply

的选项
2

数据

out = apply(data[,-1], 2, function(x){ 
            unlist(t.test(x[data$Sex == 'M'], x[data$Sex == 'F'])[c(1:3,5)],
            recursive=FALSE)
       })

#> out
#                            A           B           C          D          E
#statistic.t         1.2432059  3.35224633 -0.08318328  1.9649783 -0.2450115
#parameter.df        2.5766151  2.82875770  2.70763487  1.9931486  1.8474695
#p.value             0.3149294  0.04797862  0.93946696  0.1887914  0.8309453
#estimate.mean of x 21.3333333 31.66666667 16.33333333 36.3333333 22.3333333
#estimate.mean of y  6.5000000  6.50000000 18.00000000 13.5000000 27.0000000

答案 1 :(得分:1)

我认为

应该是apply,t.test和aggregate的组合。但首先将行名称转换为名称列。然后,您可以使用聚合进行子集化,然后使用t.test

进行应用