Cómo corregir en R: los argumentos implican un número diferente de filas

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.

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *