如何在 R 数据框中删除每列最大值所在的行?


要删除 R 数据框中每列包含最大值的行,我们可以按照以下步骤操作:

  • 首先,创建一个数据框。
  • 然后,使用 lapply 和 which.max 函数删除每列包含最大值的行。

创建数据框

让我们创建一个如下所示的数据框:

 实时演示

> x1<-rpois(20,5)
> x2<-rpois(20,9)
> df<-data.frame(x1,x2)
> df

执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):

   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.max 函数删除 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

更新时间: 2021-08-13

1K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

立即开始
广告