数据帧中小于R中某个值的所有列的子集

数据帧中小于R中某个值的所有列的子集,r,subset,bin,R,Subset,Bin,我有一个包含7个p值变量的数据框。 我不能发布它,因为它是私有数据,但它看起来像这样: >df o m l c a aa ep 1.11E-09 4.43E-05 0.000001602 4.02E-88 1.10E-43 7.31E-05 0.00022168 8.57E-07 0.0005479 0.000

我有一个包含7个p值变量的数据框。 我不能发布它,因为它是私有数据,但它看起来像这样:

>df
    o           m           l           c           a           aa          ep
    1.11E-09    4.43E-05    0.000001602 4.02E-88    1.10E-43    7.31E-05    0.00022168
    8.57E-07    0.0005479   0.0001402   2.84E-44    4.97E-17    0.0008272   0.000443361
    0.00001112  0.0005479   0.0007368   1.40E-39    3.17E-16    0.0008272   0.000665041
    7.31E-05    0.0006228   0.0007368   4.59E-33    2.57E-13    0.0008272   0.000886721
    8.17E-05    0.002307    0.0008453   4.58E-18    5.14E-12    0.0008336   0.001108402
每列都有0-1之间的值。 我想通过提取每列中小于0.009的所有值并创建一个新的数据帧来子集整个数据帧。如果我在这个条件下提取,这些列的长度会非常不同。例如,c有290个小于0.009的值,o有300个,aa有500个,等等

我试过:

subset(df,c<0.009 & a<0.009 & l<0.009 & m<0.009& aa<0.009 & o<0.009)
尝试:

sapply(df,function(x) table(cut(x[x<0.009],c(0,0.000001,0.001,0.002,Inf))) )

#              o m l c a aa ep
#(0,1e-06]     2 0 0 5 5  0  0
#(1e-06,0.001] 3 4 5 0 0  5  4
#(0.001,0.002] 0 0 0 0 0  0  1
#(0.002,Inf]   0 1 0 0 0  0  0
sapply(df,函数(x)表(cut(x[x一次尝试:

sapply(df,function(x) table(cut(x[x<0.009],c(0,0.000001,0.001,0.002,Inf))) )

#              o m l c a aa ep
#(0,1e-06]     2 0 0 5 5  0  0
#(1e-06,0.001] 3 4 5 0 0  5  4
#(0.001,0.002] 0 0 0 0 0  0  1
#(0.002,Inf]   0 1 0 0 0  0  0
sapply(df,函数(x)表(cut(x[x一次尝试:

sapply(df,function(x) table(cut(x[x<0.009],c(0,0.000001,0.001,0.002,Inf))) )

#              o m l c a aa ep
#(0,1e-06]     2 0 0 5 5  0  0
#(1e-06,0.001] 3 4 5 0 0  5  4
#(0.001,0.002] 0 0 0 0 0  0  1
#(0.002,Inf]   0 1 0 0 0  0  0
sapply(df,函数(x)表(cut(x[x一次尝试:

sapply(df,function(x) table(cut(x[x<0.009],c(0,0.000001,0.001,0.002,Inf))) )

#              o m l c a aa ep
#(0,1e-06]     2 0 0 5 5  0  0
#(1e-06,0.001] 3 4 5 0 0  5  4
#(0.001,0.002] 0 0 0 0 0  0  1
#(0.002,Inf]   0 1 0 0 0  0  0
sapply(df,功能(x)表(切割(x[x