Cree una array bidimensional de secuencia de números enteros pares en R

En este artículo, discutiremos cómo crear una array 2D de secuencias de números enteros pares en el lenguaje de programación R.

Método 1: Usar el método seq()

El método array() se puede usar para crear una array con >=1 dimensiones. Este método devuelve una array con las extensiones especificadas en el atributo dim. Para una array bidimensional, el atributo dim contiene un vector de dos elementos, primero indicando el número de filas y luego el número de columnas respectivamente. 

Sintaxis: array (datos, dim)

Parámetro: 

  • datos: los datos para completar la array 
  • dim – Las dimensiones de la array en forma de vector

Los datos de este método se pueden crear usando el método seq(), que se usa para generar secuencias regulares, dentro del rango definido de números. 

Sintaxis: seq(from = 1, to = 1, length.out , by = ((to – from)/(length.out – 1))

Parámetro: 

  • from, to – (Predeterminado: 1) Los valores inicial y final (máximo) de la secuencia. 
  • by – Indicador del número por el que se incrementa la secuencia.
  • length.out: un indicador entero no negativo de la longitud de la secuencia. 

En este enfoque, el atributo from debe ser par para generar una secuencia de enteros pares. El argumento length.out será igual al producto de las dimensiones de la array 2-D. Y por atributo tiene un valor de 2, para incrementar el número en 2 cada vez. 

Ejemplo:

R

# creating integers
mat <- seq(from = 2, length.out = 12, by = 2)
  
# creating dimensions
dim <- c(4, 3)
arr <- array( mat , dim )
  
print("Array of even integers sequence:")
print(arr)

Producción

[1] "Array of even integers sequence:"
     [,1] [,2] [,3]
[1,]    2   10   18
[2,]    4   12   20
[3,]    6   14   22
[4,]    8   16   24

Método 2: usando manualmente el bucle for

La posición inicial para comenzar la secuencia de datos se especifica junto con las dimensiones deseadas de la array 2-D. Dado que el número total de elementos requeridos es igual al producto de las dimensiones, aquí necesitamos números pares que ocurren en posiciones alternas. Entonces, el número total de elementos será equivalente al doble del producto de las dimensiones. Ahora, la posición final está dada por: 

posición_final = posición_inicial + número de elementos

Se inicia un ciclo for para iterar desde la posición inicial hasta la posición final-1 para generar una secuencia de elementos dentro de este rango, y cada vez que se encuentra un número par, el número se agrega a una lista vacía. Este vector forma la secuencia de enteros pares y se puede alimentar al método matrix() de base R, que crea una array 2D. 

Sintaxis:

array (datos, nrow =)

Se puede suponer que la complejidad del tiempo es casi constante hasta tamaños dimensionales muy grandes.

Ejemplo: 

R

# specifying where to start the 
# even integers from 
start_pos <- 20
  
# specifying dimensions of matrix
nrow <- 3
ncol <- 2
  
# calculating starting position
end_pos = (nrow * ncol * 2) + start_pos
  
# creating empty vector
vec <- c()
for (i in start_pos : end_pos-1){
    
    # check if element is divisible by 2
    if(!(i%%2)){
      
        # append element to vector
        vec <- c(vec, i )
    }
}
  
# creating matrix 
mat <- matrix(vec , nrow = 3)
print ("Sequence of even integers in 2-D array")
print (mat)

Producción

[1] "Sequence of even integers in 2-D array"
      [,1] [,2]
[1,]   20   26
[2,]   22   28
[3,]   24   30

Publicación traducida automáticamente

Artículo escrito por yippeee25 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 *