En este artículo, veremos cómo corregir Argumentos que implican diferentes números de filas en el lenguaje de programación R.
Un error que podemos encontrar en R es:
los argumentos implican un número diferente de filas: 6, 5
El compilador produce un error de este tipo cuando intentamos crear un marco de datos y el número de filas en cada columna del marco de datos difiere entre sí.
Cuándo puede ocurrir este error
Intentemos crear un marco de datos en R usando cuatro vectores.
R
# Define vectors data1 <- c(4, 8, 13, 14, 15, 18) data2 <- c(2, 4, 5, 17, 15) data3 <- c(10, 21, 22, 7, 4, 6) data4 <- c(43, 23, 27, 87, 34, 16) # Try to create data frame with vectors # as columns df <- data.frame(data1=data1, data2=data2, data3=data3, data4=data4)
Producción:
El compilador produce tal error porque la longitud de los vectores utilizados no es la misma. Por lo tanto, el número de filas en las columnas no es el mismo. También podemos cotejar esto imprimiendo la longitud de los vectores.
R
# Define vectors data1 <- c(4, 8, 13, 14, 15, 18) data2 <- c(2, 4, 5, 17, 15) data3 <- c(10, 21, 22, 7, 4, 6) data4 <- c(43, 23, 27, 87, 34, 16) # Print the length length(data1) length(data2) length(data3) length(data4)
Producción:
Como podemos ver en la salida data1, data3, data4 tiene una longitud igual a 6 pero data2 tiene una longitud igual a 5.
¿Cómo corregir el error?
Este error se puede solucionar fácilmente teniendo en cuenta que cada vector debe tener la longitud de la muestra para que cada columna en el marco de datos final tenga el número de filas. Por ejemplo, podríamos rellenar el vector más corto con valores NA para que cada vector tenga la misma longitud:
R
# Define vectors data1 <- c(4, 8, 13, 14, 15, 18) data2 <- c(2, 4, 5, 17, 15) data3 <- c(10, 21, 22, 7, 4, 6) data4 <- c(43, 23, 27, 87, 34, 16) # Configure the shortest vector with NA's # to have same length as longest vector length(data2) <- length(data1) # Try to create data frame with vectors # as columns df <- data.frame(data1=data1, data2=data2, data3=data3, data4=data4)
Producción:
El programa se compiló con éxito esta vez ya que cada columna tiene el mismo número de filas en el marco de datos.