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

要删除 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

猜你喜欢