Foro de debate

Como calcular el valor máximo en intervalos de una serie de datos, indicando el inicio y final de cada intervalo en otro dataframe

Como calcular el valor máximo en intervalos de una serie de datos, indicando el inicio y final de cada intervalo en otro dataframe

de Francisco Javier -
Número de respuestas: 0

Buenas, quiero calcular el valor máximo de determinados grupos de registros de una variable (df$z), indicando donde empieza y acaba cada grupo con otro dataframe (df1).

 

Estos serían como ejemplo los dos dataframes :

```{r}

df <- data.frame(tibble(
PK = 1:100,
z = PK^2)
)

df1 <- data.frame(tibble(
INI = seq(from = 10, to = 90, by = 10),
FIN = seq(from = 20, to = 100, by = 10)
))

```

 

La idea es ir filtrando en df$PK con los valores de df1 (INI y FIN) e ir calculando el máximo de la variable df$z para meter esos valores en un vector o dataframe:

obtener los valores máximos de df$z[i] en los diferentes intervalos (df1$INI[i] , df1$FIN[i])...

Mi intento fallido y mal hecho como principiante novato que soy es el siguiente: 

```{r}
data <- vector("list", length(df))
for (i in seq_along(df1)){
df %>%
filter(PK > df1$INI[i], PK < df1$FIN[i]) %>%

summarise(z_max=max(z))

}

```

Podría alguien ayudarme a hacerlo bien?

Gracias de antemano

Javier