Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何从矩阵中提取真值_R_Matrix - Fatal编程技术网

R 如何从矩阵中提取真值

R 如何从矩阵中提取真值,r,matrix,R,Matrix,我需要从矩阵的每一列中提取具有真实值的基因,并为我的每一列对比度列形成它们的列表。我该怎么做呢 gcQVals=qvalue(eBgcData$p.value) print(sum(gcQVals$qvalues<=0.01)) gcQs2=gcQVals$qvalues<=0.01 print(gcQs2[1:5,1:6]) 我试图弄明白你在说什么,然后建造了这个MWE: # build the example a <- matrix(runif(9), 3, 3)>

我需要从矩阵的每一列中提取具有真实值的基因,并为我的每一列对比度列形成它们的列表。我该怎么做呢

gcQVals=qvalue(eBgcData$p.value)
print(sum(gcQVals$qvalues<=0.01))
gcQs2=gcQVals$qvalues<=0.01
print(gcQs2[1:5,1:6])

我试图弄明白你在说什么,然后建造了这个MWE:

# build the example
a <- matrix(runif(9), 3, 3)>0.5
dimnames(a) <- list(letters[1:3], LETTERS[1:3])

# solution to your supposed problem
lapply(colnames(a), function(name) rownames(a)[a[,name]])

> a
      A     B     C
a FALSE  TRUE FALSE
b FALSE FALSE  TRUE
c FALSE FALSE FALSE

res <- lapply(colnames(a), function(name) rownames(a)[a[,name]])
names(res) <- colnames(a)
> res
$A
character(0)

$B
[1] "a"

$C
[1] "b"

如果查看打印输出,某些列的行中有TRUE。我想为每一列抽出这些行。为了让我们能够回答您的问题,请通过键入dputgcQs2[1:10,1:6]并将控制台输出复制粘贴到您的问题中,包括您的数据样本。还包括gcQs2[1:10,1:6]的所需输出,以便我们知道解决方案是否符合您的要求。有关如何在R中生成可复制示例并使其更有可能回答您的问题的更多信息,请查看。是否要删除整行或整列?或者你想放什么呢?dputgcQs2[1:10,1:6]输出:structurecFALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,.Dim=c10L,6L,.Dimnames=structurelistc141670_at,1415671_at,1415672_at,1415673_at,1415674_a_at,1415675_at,1415676_a_at,1415677_at,1415678_at,1415679_at,Contrasts=cKOInfvsKOUnInf,wtinfvshtunif,koinfvshtunif,koinfvshtunif,.Names=c,contrast我在上面的评论中删去了一些错误,这样它才合适@如果我可以删除只有错误结果的行,我相信这会有所帮助。
# build the example
a <- matrix(runif(9), 3, 3)>0.5
dimnames(a) <- list(letters[1:3], LETTERS[1:3])

# solution to your supposed problem
lapply(colnames(a), function(name) rownames(a)[a[,name]])

> a
      A     B     C
a FALSE  TRUE FALSE
b FALSE FALSE  TRUE
c FALSE FALSE FALSE

res <- lapply(colnames(a), function(name) rownames(a)[a[,name]])
names(res) <- colnames(a)
> res
$A
character(0)

$B
[1] "a"

$C
[1] "b"