dividir el marco de datos según la condición

usuario13249521

Tengo un marco de datos llamado df. Hay 20 filas y 2 variables test_value y day. Me gustaría crear una nueva variable llamada test_x_max. Capturará el valor máximo de los registros x anteriores. Ejemplo: si asumimos que X es 5, entonces si estamos mirando la fila 15, debe elegir el valor de prueba máximo entre el día 10 y el día 15. ¿Cómo puedo lograr esto? Gracias por adelantado. Pavana

Allan Cameron

Puede usar zoo::rollmaxcombinado con cummax:

library(zoo)

df$test_x_max <- c(cummax(df$test_value[1:4]), rollmax(df$test_value, 5, align = "right"))

Por ejemplo:

set.seed(100)
df <- data.frame(day = 1:20, test_value = sample(20))
df$test_x_max <- c(cummax(df$test_value[1:4]), rollmax(df$test_value, 5, align = "right"))
df
#>    day test_value test_x_max
#> 1    1         10         10
#> 2    2          6         10
#> 3    3         16         16
#> 4    4         14         16
#> 5    5         12         16
#> 6    6          7         16
#> 7    7         19         19
#> 8    8         17         19
#> 9    9          4         19
#> 10  10         15         19
#> 11  11         13         19
#> 12  12          2         17
#> 13  13         11         15
#> 14  14          8         15
#> 15  15          3         13
#> 16  16          9         11
#> 17  17          1         11
#> 18  18         20         20
#> 19  19         18         20
#> 20  20          5         20

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

dividir el marco de datos según la condición

Dividir un marco de datos según la condición

fusionar el marco de datos según la condición

fusionar el marco de datos según la condición

Dividir la columna de marco de datos en diferentes columnas según la condición

dividir el marco de datos de pandas según el valor de la columna de cadena

dividir el marco de datos de pandas en dos según el día de la semana

dividir el marco de datos de pandas en dos según el día de la semana

Dividir el marco de datos en trozos por las filas que satisfacen la condición dada

Dividir el marco de datos en trozos relativamente uniformes según la longitud

Dividir el marco de datos por la mitad según una columna en R

¿Cómo dividir el marco de datos en múltiples marcos de datos según el nombre de la columna?

Eliminar una fila en el marco de datos de pandas según la condición

Cargue carpetas de parquet para activar el marco de datos según la condición

Iterar y asignar valor en el marco de datos de Pandas según la condición

El marco de datos de Python excluye filas según la condición que no funciona

Multiplique el marco de datos de pandas con un marco de datos de forma diferente según la condición

Dividir el marco de datos en dos subcuadros de datos según la cadena de valores de columna en R

Cómo dividir la columna del marco de datos en columnas separadas según la condición

Suma de una columna del marco de datos A, según la condición en el marco de datos B

error al llenar el marco de datos según la condición

columnas separadas según la condición en el marco de datos en R

reemplace los NaN en el marco de datos combinado según la condición - (Python, Pandas)

Eliminar algunas filas en el marco de datos según la condición en otra columna

Resalte filas en el marco de datos según la condición

Dividir un marco de datos en varios marcos de datos según el nombre de la columna en R

Dividir el marco de datos según el valor en la columna: recorrer la lista de identificadores

dividir y fusionar el marco de datos de pandas según el índice de la columna de entrada

Cómo dividir el marco de datos de pyspark según el contenido de la línea