如何在 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
广告