【发布时间】:2017-01-11 00:21:21
【问题描述】:
我最近才开始学习 R,如果这是对某人的新手问题,请原谅我。我想从“Bladder”列中提取该行,该行的值是其他列的 5 倍以上。
gene Adrenal Amygdala Bladder BoneMarrow
1007_s_at 10.46973369 11.26483864 100.43303178 9.907426976
1053_at 6.446570421 6.462840464 6.570665594 7.068326351
117_at 8.018137441 7.738652705 7.604989675 8.38937883
121_at 10.78168853 10.3223056 10.38043102 10.73936285
1255_g_at 5.625038847 6.132930765 5.526885199 5.448521716
1294_at 8.37142904 8.1019947 8.549260758 8.697436419
1316_at 6.237386633 6.429011484 6.083330287 6.295933456
1320_at 6.206410651 6.139873183 6.328348899 6.251521738
1405_i_at 6.588370219 5.949622255 7.420451672 8.823058974
预期结果
gene Adrenal Amygdala Bladder BoneMarrow
1007_s_at 10.46973369 11.26483864 100.43303178 9.907426976
我得到这个答案很有用,但我不知道如何申请多个列 select only rows if its value in a particular column is less than its value in the other column
谢谢。
【问题讨论】:
-
鉴于上面的数据框,你能发布预期的结果吗?
-
“与其他列相比高出 5 倍以上”。这种说法相当模棱两可。比 any 其他列或 all 其他列高 5 倍?
-
dplyr::filter(your_data, Blatter > 5*(column_you_are_talking_about))。如果您有多个条件,只需添加多个参数以过滤以包含这些条件。例如,.Blatter > 5*other_column_you_are_talking_about -
照原样,您发布的数据没有出现 Bladder 大于任何或所有其他列的 5 倍的示例。请修复该问题,然后发布预期结果。此外,您可能想要命名第一列。
-
@pali: 抱歉,您的意思是将 100.46973369 值更改为 Bladder 而不是 Adrenal?否则,您的条件是返回除 Bladder 之外的任何列大于 5 * Bladder 的行。
标签: r