我有一个带有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
答案 0 :(得分:-1)
尝试使用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))