Obtener errores en la programación es bastante común y su frecuencia aumenta cuando nuestro código fuente se vuelve más voluminoso. En este artículo, vamos a discutir cómo corregir: el número incorrecto de subíndices en la array en R.
Este error no nos da ninguna pista en la primera aparición. Este error puede ocurrir debido a un error muy pequeño. Este error puede ser fácil de cometer para los programadores, pero encontrar este error a veces se convierte en un desafío para la mayoría de los programadores.
¿Cuándo podría ocurrir este error?
Estos errores pueden ocurrir cuando el programador intenta usar la notación matricial en una estructura de datos que no es una array en sí misma. Este tipo de error es normal, pero a veces puede ser difícil de encontrar si no tiene claridad con respecto a la estructura de datos que se está utilizando.
Ejemplo:
R
# R program to illustrate when this # error might occur # Creating a vector vect = rep(1, 5) # Assign values in the created vector for(i in 1:5) { # Assigning at all columns of the # ith row vect[i,] = 10 }
Producción:
¿Por qué puede ocurrir este error?
Este tipo de error ocurre cuando el programador intenta aplicar la notación matricial a un vector.
Ejemplo:
En el siguiente código fuente, hemos creado un vector vect (estructura de datos unidimensional). Usando un ciclo for estamos iterando de i = 1 a i = 100 y en cada paso de la iteración, estamos asignando el valor 10 a todas las columnas de la i -ésima fila. Pero vect es una estructura de datos unidimensional y le estamos aplicando notación matricial. Por lo tanto, el código fuente a continuación generará un error: «el número incorrecto de subíndices en la array» como se ve claramente en la salida.
R
# R program to illustrate reasons for the error # Creating a vector vect = rep(1, 5) # Assign values in the created vector for(i in 1:5) { # Assigning at all columns of the ith row vect[i,] = 10 }
¿Cómo arreglar este error?
La corrección de este error se basa en dos ideologías diferentes que se analizan a continuación.
Ideología 1: cuando queremos tratar con la estructura de datos unidimensional.
Cuando estamos seguros de que vamos a tratar con una estructura de datos unidimensional (como un vector), podemos corregir este error como en el siguiente ejemplo.
Ejemplo:
R
# R program to fix the error # Creating a vector vect = rep(1, 5) # Assign values in the created vector # Note that we have removed the comma (,) # Since we are dealing with 1-dimensional # data structure for(i in 1:5) { # Assigning 10 as the value # at the ith index of the vect vect[i] = 10 }
Producción:
Ideología 2: Cuando queremos tratar con la estructura de datos bidimensional.
Cuando estemos seguros de que vamos a tratar con una estructura de datos bidimensional (como una array), podemos corregir este error como en el siguiente ejemplo.
Ejemplo:
R
# R program to fix the error # Creating a 2-dimensional data structure (matrix) # mat has 5 rows and 5 columns mat = matrix(rep(0,5), nrow=5, ncol=5) # Assign values in the created matrix # Note that we have added the comma (,) # Since we are dealing with 2-dimensional # data structure for(i in 1:5) { # Assigning 10 as the value # at all columns of the ith row mat[i,] = 10 } # Print the matrix print(mat)
Producción: