【发布时间】:2021-06-22 08:40:11
【问题描述】:
我知道这个问题已被问过几次,但我似乎无法完成这项工作......
我有一个如下所示的数据框:
Slycopersicum_O_F30 Slycopersicum_O_F31
BGI_novel_G000585 4.085328 3.886572
BGI_novel_G000600 4.085328 3.886572
BGI_novel_G001004 4.085328 3.886572
BGI_novel_G001146 4.085328 3.886572
BGI_novel_G001147 4.085328 3.886572
BGI_novel_G001673 4.085328 3.886572
共有 24 列。现在我想提取符合我的标准的行,即
1:21 列的中值应大于 22:24 列的中值。为此,我编写了以下循环:
for (i in 1:nrow(OpenTable)){
if (median(as.numeric(OpenTable[i,1:21])) >
median(as.numeric(OpenTable[i,22:24]))) {
print(i) -> list
OpenTable[i,1:24] = SLU
}}
所以打印功能可以正常工作并打印所有符合条件的行。然而最后一行代码只提取了 1 行(我猜他们在每个循环中都被改变了) 谁能帮我弄清楚如何用符合条件的行填充数据框? 我希望我已经正确地陈述了这个问题,如果您需要更多信息,请告诉我。 干杯!
【问题讨论】:
标签: r loops conditional-statements bioinformatics