R 计算不同列的子集上的平均值、比率和pvalue

R 计算不同列的子集上的平均值、比率和pvalue,r,dataframe,math,R,Dataframe,Math,我可以通过以下方式计算p值: col1 col2 col3 col4 Mean_N Mean_F Ratio_N_F Pvalue_NvsF 我可以用melt来计算平均值 如何将所有内容放在最后一个数据帧中?考虑在不同的聚合调用中使用rbind。下面假设ratio,ratio_N_F是列平均值的比率 lapply(m[-1], function(x) t.test(x ~ m$id)) 比率是如何定义的?如果是N/F行,则两行的长度必须相同。 la

我可以通过以下方式计算p值:

          col1     col2     col3     col4
Mean_N
Mean_F
Ratio_N_F
Pvalue_NvsF
我可以用melt来计算平均值

如何将所有内容放在最后一个数据帧中?

考虑在不同的聚合调用中使用rbind。下面假设ratio,ratio_N_F是列平均值的比率

lapply(m[-1], function(x) t.test(x ~ m$id))

比率是如何定义的?如果是N/F行,则两行的长度必须相同。
lapply(m[-1], function(x) t.test(x ~ m$id))
outdf <- rbind(
  Mean_N = aggregate(.~id, mydf[mydf$id=='N',], FUN=mean)[-1],
  Mean_F = aggregate(.~id, mydf[mydf$id=='F',], FUN=mean)[-1],
  Ratio_N_F = aggregate(.~id, mydf[mydf$id=='N',], FUN=mean)[-1] / 
                 aggregate(.~id, mydf[mydf$id=='F',], FUN=mean)[-1],
  Pvalue_NvsF = sapply(mydf[-1], function(x) t.test(x ~ mydf$id)$p.value)
)

outdf
#                     col1         col2       col3        col4
# Mean_N      3.000000e+00 7.000000e+00 4.00000000 23.33333333
# Mean_F      1.000000e+01 1.000000e+00 2.00000000  5.00000000
# Ratio_N_F   3.000000e-01 7.000000e+00 2.00000000  4.66666667
# Pvalue_NvsF 2.093883e-04 1.523397e-05 0.00276496  0.02178842