Multiplicar Array por Vector en R

Una array es una estructura bidimensional, mientras que un vector es una estructura unidimensional. En este artículo, vamos a multiplicar la array dada por el vector dado usando el lenguaje de programación R. La multiplicación entre los dos ocurre cuando los elementos del vector se multiplican con los elementos de la array en forma de columna.

Acercarse:

  • Crear una array
  • Crear un vector
  • multiplícalos
  • Mostrar resultado.

Método 1: método ingenuo

Una vez que las estructuras están listas, las multiplicamos directamente usando el operador de multiplicación (*).

Ejemplo:

R

# create a vector for matrix elements
vector1=c(1,2,3,4,5,6,7,8,9,10,11,12)
  
# Create A matrix with 2 rows and 6 columns
matrix1 <- matrix(vector1, nrow=2,ncol=6) 
  
# multiplication vector
mul_vec=c(1,2,3,4)
  
# print multiplication result
print(matrix1*mul_vec)

Producción:

Ejemplo 2:

R

# create a vector for matrix elements
vector1=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
  
# Create A matrix with 4 rows and 4 columns
matrix1 <- matrix(vector1, nrow=4,ncol=4) 
print(matrix1)
  
mul_vec=c(1,2,3,4)
  
print("Result")
print(matrix1*mul_vec)

Producción:

Ejemplo 3:

Este código tiene array y vector de igual tamaño.

R

# create a vector for matrix elements
vector1=c(1,2,3,4)
  
# Create A matrix with 2 rows and 2 columns
matrix1 <- matrix(vector1,nrow=2,ncol=2) 
print(matrix1)
  
mul_vec=c(1,2,3,4)
  
print("Result")
print(matrix1*mul_vec)

Producción:

Método 2: Usar barrido()

podemos usar el método de barrido() para multiplicar vectores a una array. La función de barrido() se usa para aplicar la operación “+ o – o ‘*’ o ‘/’” a la fila o columna en la array dada.

Sintaxis:

barrido(datos, MARGEN, DIVERSIÓN)

Parámetro:

  • datos = array de entrada
  • MARGEN: MARGEN = 2 significa fila; MARGIN = 1 significa columna.
  • FUN: La operación que se tiene que hacer (ej. + o – o * o /)

Aquí, estamos realizando la operación «*»

Ejemplo:

R

# create matrix with 15 elements
matrix1 <- matrix(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
                  nrow=3,byrow=TRUE)
print(matrix1)
print("---------------")
  
# create a vector
vector1 <- c(1,2,3,4,5)
  
# apply sweep operation that multiplies row 
# wise(margin=2)
print(sweep(matrix1, MARGIN=2,vector1, `*`))
print("---------------")
  
# create elements with vector 2
vector2 <- c(1,2,3)
  
# apply sweep operation that multiplies column
# wise with vector 2(margin=1)
print(sweep(matrix1, MARGIN=1,vector2, `*`))

Producción:

Ejemplo 2:

R

# create matrix with 8 elements
matrix1 <- matrix(c(1,2,3,4,5,6,7,8),
                  nrow=2,byrow=TRUE)
print(matrix1)
print("---------------")
  
# create a vector
vector1 <- c(1,2,3,4)
  
# apply sweep operation that multiplies 
# row wise(margin=2)
print(sweep(matrix1, MARGIN=2,vector1, `*`))
print("---------------")
  
# create elements with vector 2
vector2 <- c(1,2)
  
# apply sweep operation that multiplies column 
# wise with vector 2(margin=1)
print(sweep(matrix1, MARGIN=1,vector2, `*`))

Producción:

Publicación traducida automáticamente

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