要删除 R 数据框中每列包含最大值的行,我们可以按照以下步骤操作 -
首先,创建一个数据框。
然后,使用 lapply 和which.maxfunction删除每列具有最大值的行。
让我们创建一个数据框,如下所示 -
> x1<-rpois(20,5) > x2<-rpois(20,9) > df<-data.frame(x1,x2) > df
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
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