найти строки в таблице, где все значения столбцов находятся в определенном диапазоне - PullRequest
0 голосов
/ 05 июня 2019

У меня есть таблица со столбцом id (имена строк: x1-x5), за которыми следуют 20 столбцов с числовыми значениями. Мне нужно найти строки, в которых все значения столбцов находятся в заданном диапазоне, например 1000-2000.

x1  614.514 587.3   719.25  604.801 669.595 1703.74 1744.23 1876.09 846.224 2314.82 1348.99 2013.43 1867.24 1762.6  1566.74 1590.8  1587.01 1544.88 1617.78 1309.69

x2  3254.02 5258.79 2648.52 2644.17 3222.8  4127.27 5254.42 5434.76 6102.35 5890.25 5619.38 3346.84 3696.11 4581.44 1468.48 4628.4  4969.09 4623.34 4842.4  5542.33

x3  596.369 561.562 860.907 612.952 636.416 1246.69 1122.82 1125.08 508.835 1173.63 1046.1  1078.4  1238.64 1042.9  950.404 1120.76 998.17  1075.62 1115.9  914.933

x4  1343.95 1712.76 952.298 1018.87 1084.32 578.646 707.197 599.226 1337.18 1686.72 840.897 539.199 533.319 563.101 736.027 661.588 711.23  657.246 687.865 793.797

x5  1118.95 1325.52 1287.7  1666.06 1740.34 1799.18 1956.39 1483.32 2998    4045.77 2176.8  1693.72 1896.93 2041.38 1014.72 2128.76 2043.94 1831.81 1936.41 2275.93

1 Ответ

0 голосов
/ 05 июня 2019

Попробуйте использовать rowSums

df[rowSums(df >= 1000 & df <= 2000) == ncol(df), ]

Используя apply

df[apply(df >= 1000 & df <= 2000, 1, all), ]

Используя filter_all из dplyr

library(dplyr)
df %>% filter_all(all_vars(. >= 1000 & . <= 2000))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...