Foro de debate

Ayuda para filtrar en intervalos usando bucles con "for"

Ayuda para filtrar en intervalos usando bucles con "for"

by Francisco Javier -
Number of replies: 2

Hola, estoy tratando de filtrar en una secuencia por diferentes intervalos para obtener el valor máximo en cada intervalo ...

Estoy tratando de hacerlo filtrando usando un bucle ... pero no puedo hacerlo

Por favor, ¿alguien podría ayudarme?

Este es un ejemplo de dataframes para hacerlo:

```{r}

df <- data.frame(tibble(
PK = 5:105,
z = PK^2 #where PK is the secuence where I want to filter each interval
))

df1 <- data.frame(tibble(
INI = seq(from = 10, to = 90, by = 10), #every start of each interval
FIN = seq(from = 20, to = 100, by = 10) #every end of each interval
))

```

Alguien puede ayudarme?

Gracias por adelantado

Javier

In reply to Francisco Javier

Re: Ayuda para filtrar en intervalos usando bucles con "for"

by Manuel Muñoz Márquez -

Buenas:

¿Qué tal esto?

Un saludo

> PK = 5:105
> df <- data.frame(PK, z = PK^2)
> df1 <- data.frame(INI = seq(from = 10, to = 90, by = 10), #every start of each interval
+ FIN = seq(from = 20, to = 100, by = 10) #every end of each interval
+ )
> f <- function(x) {
+ max(df$z[(df$PK > x[1]) & (df$PK <= x[2])], na.rm = TRUE)
+ }
> apply(df1, 1, FUN = f)
[1]   400   900  1600  2500  3600  4900  6400  8100 10000

 

In reply to Manuel Muñoz Márquez

Re: Ayuda para filtrar en intervalos usando bucles con "for"

by Francisco Javier -
Muchas gracias Manuel, funciona perfecto

Si pasas un día por Getafe te debo una cerveza por el favor

Saludos!