【发布时间】:2015-11-16 22:39:43
【问题描述】:
给定一个数据框,其中 colnames 具有示例标识符(即 G1 和 G2),我想对每一行执行 var.test() 并将一些结果存储在一个新矩阵中。
>dat
GSM475355_G1 GSM475367_G0 GSM475370_G0 GSM475373_G1 GSM475376_G0 GSM475381_G1 GSM475383_G1 GSM475385_G1
27411 -0.89388704 0.01987934 0.38278532 0.071681020 0.373300080 -0.455644130 -0.18787241 0.65458155
35558 1.74279880 0.54368210 -0.24144077 0.307267200 -0.059902190 -0.052984238 0.13823795 0.20645618
43304 1.94601350 -0.05378771 0.02680111 -0.065221310 0.130765910 -0.090313435 -0.05756617 -0.02083588
33721 -0.29451323 0.01806831 -0.08260250 0.140903470 -0.006454945 -0.128416540 0.05237675 -0.03429079
8310 -0.79846334 1.00792070 -0.35607958 0.378528120 0.081913950 0.112047670 -0.34938622 0.25825214
46204 -3.02495300 0.07315350 0.79066850 0.091570854 0.428258900 0.565763500 0.18908596 0.88739204
21809 0.07164812 0.06946850 0.00000000 -0.005378723 -0.081427574 -0.009929657 0.15938330 -0.05795145
23277 -0.19507313 0.22079802 -0.11173201 -0.139470100 -0.059999466 0.159433840 -0.23357010 -0.02099037
我的尝试是使用apply,但它似乎不起作用,为了简单起见,我尝试了下面的一些变体.例如
G1<-dat[,grep("G1", colnames(dat))]
应用尝试:
apply(G1, 1 ,var.test, y = G0)
apply(as.numeric(G1),as.numeric(G0),1, var.test))
还有其他一些没有成功的变体。我什至尝试了一行,例如(G1[1,])来测试该功能。
【问题讨论】:
-
什么“似乎不起作用”?请分享错误消息(如果存在)以支持这个模糊的句子。
-
有不同的错误消息,具体取决于我在上述尝试中使用错误的尝试,但 match.fun(FUN) 中的错误:缺少参数“FUN”,没有默认值
-
只做类似的事情怎么样:
apply(dat, 1, function(x) var.test(x[grep("G1", colnames(dat))], x[grep("G0", colnames(dat))]) )? -
@thelatemail 我收到以下错误
Error in var.test.default(x[grep("G1", colnames(dat))], : not enough 'x' observations