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.

Se necesita una función R para replicar datos de X por Y veces, donde X contiene algunos valores repetidos.

Tengo un conjunto de datos bastante grande (18.000) filas con 2 columnas de interés. Me gustaría tratar uno (X) como los valores cuantitativos, y el otro (Y) como recuentos, y repetir los datos de X en función de los recuentos. Debido a la naturaleza de los datos, hay valores repetidos en la columna X, y solo quiero crear un nuevo conjunto de datos que contenga todos los valores de X y sus mediciones repetidas. He intentado hacer lo siguiente, pero devuelve un argumento de tiempo no válido: rep, df$ X, df$ Y

No estoy seguro de por qué ocurre este error, y no sé qué hacer a partir de aquí. Se agradece cualquier ayuda. A continuación se muestra una pequeña muestra de mis datos.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para repetir los datos de X basados en las repeticiones especificadas en la columna Y, puedes usar la función rep en R. Sin embargo, la sintaxis que proporcionaste es incorrecta, lo que está causando el mensaje de error.

    La sintaxis correcta para repetir los datos de X basados en las repeticiones de Y sería la siguiente:

    new_data <- rep(df$X, times = df$Y)
    

    Esto creará un nuevo vector, donde cada valor en la columna X se repite el número de veces especificado en la columna Y correspondiente.

    Para crear un nuevo marco de datos que contenga los valores repetidos de X, puedes usar la función cbind para unir el nuevo vector con los valores originales de Y:

    new_df <- cbind(X = new_data, Y = df$Y)
    

    Esto creará un nuevo marco de datos con los valores repetidos de X y sus recuentos de Y correspondientes.

Comments are closed.