es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe un límite de factores en `dplyr::group_by`?

Estoy teniendo dificultades para calcular el desgaste de un componente utilizando el retraso de una variable. Sin embargo, necesito calcular el desgaste en diferentes grupos, por lo que estoy utilizando la función group_by, pero hay un problema. Cuando uso la variable que necesito agrupar, esto resulta en una columna de “NA’s”, pero cuando pruebo agrupar otra variable que tiene menos factores, el cálculo funciona.

El dataframe que estoy utilizando tiene 4093902 filas y 52 líneas. La variable que necesito agrupar para mi cálculo de desgaste tiene 90183 factores. La otra variable que probé y funcionó tenía 11321 factores.

Aquí está el código que estoy usando:
R
final_date = result_data %>%
arrange((time)) %>%
group_by(id_specific)%>%
mutate(wear = dplyr::lag(some_value, n = 1, default = NA) – some_value)

¿Alguien sabe si hay un límite de factores para agrupar? ¿O algún otro consejo sobre cómo puedo realizar este cálculo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás encontrando una limitación de la función group_by. Es posible que el número de factores en la variable por la que intentas agrupar sea demasiado grande para que la función lo maneje. También es posible que el tamaño de tu marco de datos sea demasiado grande para que la función lo maneje.

    Podrías intentar usar el paquete data.table en lugar de dplyr para ver si eso ayuda. El paquete data.table está diseñado para manejar conjuntos de datos grandes y puede ser más eficiente que dplyr en ciertos casos. También puedes intentar descomponer tu marco de datos en fragmentos más pequeños y ejecutar la función group_by en cada fragmento por separado.

    Si ninguna de estas soluciones funciona, podrías intentar usar un enfoque diferente para calcular el desgaste del componente.

Comments are closed.