Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
筛选R中最大值和最小值过多的行_R_Filter_Max_Min - Fatal编程技术网

筛选R中最大值和最小值过多的行

筛选R中最大值和最小值过多的行,r,filter,max,min,R,Filter,Max,Min,我的数据集如下所示 a_metric b_metric c_metric tl_metric mpr 1 1.0079123 0.4121975 1.0510727 0.5280035 -0.03690215 2 -0.3479917 -0.3185338 -0.3652249 -0.1644014 0.01175352 3 1.7148652 2.7669706 1.8156309 0.6885553 -0.05121204 ra

我的数据集如下所示

   a_metric   b_metric c_metric    tl_metric        mpr
1  1.0079123  0.4121975 1.0510727  0.5280035  -0.03690215
2  -0.3479917   -0.3185338 -0.3652249 -0.1644014 0.01175352
3  1.7148652   2.7669706   1.8156309   0.6885553 -0.05121204
   rate     1st_metric 2nd_metric 3rd_metric 4th_metric IDX
1  -0.7771414 0.2600359  0.3368508 0.3989317  0.4422435   1
2  0.1782411 -0.2824974 -0.3050651 -0.3225591 -0.3318396 2
3  -0.2663647 2.7014838  2.7858352  2.8452738 2.8524606   3
我尝试使用下面的命令在整个数据集中过滤mpr中第一个度量、第二个度量、第三个度量和最小值的最大值行

k[(which.max(k$1st_metric))&(which.max(k$2nd_metric))&(which.max(k$3rd_metric))&(which.min(k$mpr)),]

它不返回第三行,而是返回整个数据集。我在这里做错了什么?

您的代码实际计算结果是什么

k[3 & 3 & 3 & 3] 
如果您在控制台中键入
3&3&3&3&3
,它将为您提供
#[1]TRUE

因此它返回选择整个数据帧的
k[TRUE]

您需要的是计算结果为
k[3,]

我们可以用

k[which(k$X1st_metric == max(k$X1st_metric) & k$X2nd_metric == max(k$X2nd_metric)
      & k$X3rd_metric == max(k$X3rd_metric) & k$mpr == min(k$mpr)), ]

#  a_metric  b_metric c_metric tl_metric      mpr        rate 
#3 1.714865  2.766971 1.815631 0.6885553 -0.05121204 -0.2663647

#  X1st_metric X2nd_metric  X3rd_metric X4th_metric IDX
#3   2.701484    2.785835    2.845274    2.852461   3
或者通过修改代码

k[unique(c(which.max(k$X1st_metric), which.max(k$X2nd_metric) , 
           which.max(k$X3rd_metric) , which.min(k$mpr))), ]