¿Cómo establecer los elementos diagonales de una array en 1 en R?

En este artículo, discutiremos cómo establecer los elementos diagonales de una array en 1 en el lenguaje de programación R.

Matrix es un arreglo rectangular de números en filas y columnas. En una array, como sabemos, las filas son las que se ejecutan horizontalmente y las columnas son las que se ejecutan verticalmente. En la programación R, las arrays son estructuras de datos bidimensionales y homogéneas.

array[fila(array)==col(array)]

donde array es la array de entrada. row() verificará los elementos de la fila y col() verificará los elementos de la columna.

Método 1: Usar el operador ==

La sintaxis para asignar el valor 1 a los elementos de la diagonal es:

matrix[row(matrix)==col(matrix)]=1

Ejemplo 1:

En este ejemplo, crearemos una array de 5*5 y asignaremos 1 a los elementos diagonales.

R

# create 5*5 matrix.
matrix_data=matrix(1:25,nrow=5,ncol=5)
  
# display actual matrix
print(matrix_data)
  
# assign value to 1
matrix_data[row(matrix_data)==col(matrix_data)] =1
  
# display final
matrix_data

Producción:

 

Ejemplo 2:

En este ejemplo, crearemos una array de 2*2 y asignaremos 1 a los elementos diagonales.

R

# create 2*2 matrix.
matrix_data=matrix(1:4,nrow=2,ncol=2)
  
# display actual matrix
print(matrix_data)
  
# assign value to 1
matrix_data[row(matrix_data)==col(matrix_data)] =1
  
# display final
matrix_data

Producción:

 

Método 2: Usar métodos diag()

diag() se usa para obtener los elementos diagonales y estableceremos el valor en 1.

Sintaxis: diag(array)=1

donde array es la array de entrada.

Ejemplo:

En este ejemplo, crearemos una array de 2*2 y asignaremos 1 a los elementos diagonales.

R

# create 2*2 matrix.
matrix_data=matrix(1:4,nrow=2,ncol=2)
  
# display actual matrix
print(matrix_data)
  
# assign value to 1
diag(matrix_data)=1
  
# display final
matrix_data

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 *