Foro de debate

Ayuda para filtrar en intervalos usando bucles con "for"

Ayuda para filtrar en intervalos usando bucles con "for"

de Francisco Javier -
Número de respuestas: 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

En respuesta a Francisco Javier

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

de 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