Encuentra el mínimo y máximo de una columna dada un índice ordenado en Dplyr.
Tengo un vector y le añado sus índices de la siguiente manera:
“`{r}
library(tidyverse)
Crear el vector
vector_ex <- c(44, 30, 24, 32, 35)
Añadir índices
vector_ex_indexed <- cbind(seq_along(vector_ex), vector_ex)
as.data.frame(vector_ex_indexed) %>%
rename(Index = V1)
Index vector_ex
1 1 44
2 2 30
3 3 24
4 4 32
5 5 35
Me gustaría encontrar el <strong>primer</strong> valor mínimo de `vector_ex` teniendo en cuenta el orden del Índice, y el <strong>primer</strong> valor máximo de `vector_ex` justo después del índice adjunto al mínimo.
Por ejemplo, en este caso quiero identificar - con dplyr:
- El primer par de `Index` y `vector_ex` con el valor mínimo es:
Index vector_ex
3 3 24
- El primer par de `Index` y `vector_ex` con el valor máximo es:
Index vector_ex
5 5 35
“`
davy.ai
Para encontrar el primer valor mínimo de
vector_ex
teniendo en cuenta el orden del índice, podemos usar la funciónwhich.min()
para determinar el índice del valor mínimo, y luego usar la funciónslice()
dedplyr
para extraer la fila correspondiente.De manera similar, para encontrar el primer valor máximo de
vector_ex
justo después del índice adjunto al mínimo, podemos primero extraer la fila con el valor mínimo como se muestra arriba, y luego usar la funciónfilter()
para seleccionar el valor máximo que viene después del índice mínimo utilizando la funciónlead()
.