首页 > 解决方案 > 如何使用 R 从数组中选择行?

问题描述

假设我有一个名为sims_add_domdim(100,5,100) 的数组:

sims_add_dom <- structure(list(marker = 1:10, coeff_a = c(0.1814993012, -1.2206119381, 
-0.298198096, 0.1131342646, 1.2563355045, 0.7464163985, 0.0002634054, 
0.1154037559, 0.3739666234, 1.8235592343), Pvalue_a = c(0.7449502, 
0.001649993, 0.4299404, 0.7704995, 0.07119358, 0.1737651, 0.9996618, 
0.7814851, 0.5222457, 1.616549e-05), coeff_d = c(-2.36629627, 
2.54339395, 0.16246537, -0.14700687, -0.82243816, 0.9682112, 
NA, -0.55876864, -2.18497032, -4.78780087), Pvalue_d = c(0.3925707, 
0.00146736, 0.820999, 0.8413498, 0.7667223, 0.7268808, NA, 0.3931673, 
0.2660354, 2.889129e-06)), class = "data.frame", row.names = c(NA, 
-10L))

现在我想根据变量Pvalue_a和的某些条件选择行Pvalue_d。假设,如果值为Pvalue_a < 0.05or Pvalue_d < 0.05,则选择这些行及其关联值。

实际上,我想知道根据条件有多少估计量是重要的。我在 google 和 StackOverflow 上进行了搜索,但没有找到对我的问题的直接答案。

如果有人帮助我解决这个问题,我将不胜感激。感谢您的帮助。

示例数据集:

图像

标签: rarraysselectconditional-statements

解决方案


返回满足条件的行:

> sims_add_dom[which(sims_add_dom$Pvalue_a < 0.05 | sims_add_dom$Pvalue_d < 0.05), c("Pvalue_a", "Pvalue_d")]
       Pvalue_a     Pvalue_d
2  1.649993e-03 1.467360e-03
10 1.616549e-05 2.889129e-06

计算满足条件的行

> sum(sims_add_dom$Pvalue_a < 0.05 | sims_add_dom$Pvalue_d < 0.05, na.rm = TRUE)
[1] 2

推荐阅读