gpt4 book ai didi

r - 在 R 中选择最大列值

转载 作者:行者123 更新时间:2023-12-04 23:26:32 25 4
gpt4 key购买 nike

我对 R 很陌生,有一个关于选择列中最大值的问题。

我有以下数据框:

          X      Y
[1,] 1 10
[2,] 1 12
[3,] 1 NA
[4,] 2 5
[5,] 2 6
[6,] 2 7
[7,] 2 8
[8,] 3 NA
[9,] 3 NA
[10,] 3 1

我想选择 Y 列的最大值并用该值替换每个组中 Y 的所有值。我的输出数据框如下所示:
          X      Y
[1,] 1 12
[2,] 1 12
[3,] 1 12
[4,] 2 8
[5,] 2 8
[6,] 2 8
[7,] 2 8
[8,] 3 1
[9,] 3 1
[10,] 3 1

任何帮助,将不胜感激。谢谢!

这是数据
Data <- structure(list(X = c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L), 
Y = c(10L, 12L, NA, 5L, 6L, 7L, 8L, NA, NA, 1L)),
.Names = c("X", "Y"), class = "data.frame",
row.names = c("[1,]", "[2,]", "[3,]", "[4,]", "[5,]", "[6,]", "[7,]", "[8,]", "[9,]", "[10,]"))

最佳答案

您可以使用 ave带有包装 max 的自定义函数,因此您可以删除 NA值(value)观:

Data$Y <- ave(Data$Y, Data$X, FUN=function(x) max(x, na.rm=TRUE))

关于r - 在 R 中选择最大列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12062843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com