如何在 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+ 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

立即開始
廣告