如何删除R数据框中每列包含最大值的行?
要删除R数据框中每列包含最大值的行,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,使用lapply和which.maxfunction删除每列具有最大值的行。
创建数据框
例子
让我们创建一个数据框,如下所示-
> x1<-rpois(20,5) > x2<-rpois(20,9) > df<-data.frame(x1,x2) > df
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x1 x2 1 9 10 2 1 9 3 8 9 4 7 6 5 4 10 6 4 7 7 8 8 8 5 13 9 4 8 10 4 13 11 4 10 12 3 10 13 7 7 14 4 7 15 3 4 16 5 8 17 5 11 18 6 10 19 4 7 20 6 6
删除每列最大的行
例子
使用lapply和which.maxfunction删除df中每列具有最大值的行-
> x1<-rpois(20,5) > x2<-rpois(20,9) > df<-data.frame(x1,x2) > as.data.frame(lapply(df, function(x) x[-which.max(x)]))
输出
x1 x2 1 1 10 2 8 9 3 7 9 4 4 6 5 4 10 6 8 7 7 5 8 8 4 8 9 4 13 10 4 10 11 3 10 12 7 7 13 4 7 14 3 4 15 5 8 16 5 11 17 6 10 18 4 7 19 6 6