Seleccionando los valores máximos de columna en R
Soy bastante nuevo en R y tengo una pregunta sobre la selección de los valores máximos en una columna.
Tengo el siguiente marco de datos:
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
Me gustaría seleccionar el valor máximo de la columna Y y reemplazar todos los valores de Y dentro de cada grupo con ese valor. Mi marco de datos de salida se vería así:
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
Cualquier ayuda sería apreciada. ¡Gracias!
Aquí están los datos
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,]"))