Matrixfunktion i R: Opret, udskriv, tilføj kolonne og udsnit
Matrixfunktion i R
En matrixfunktion i R er en 2-dimensionel matrix, der har m antal rækker og n antal kolonner. Med andre ord er matrix i R-programmering en kombination af to eller flere vektorer med samme datatype.
Bemærk: Det er muligt at oprette mere end to dimensions arrays med matrixfunktion i R.
Sådan opretter du en matrix i R
Vi kan lave en matrix med funktionen matrix(). Følgende er en funktion til at skabe en matrix i R, som tager tre argumenter:
matrix(data, nrow, ncol, byrow = FALSE)
argumenter:
- data: Samlingen af elementer, som R vil arrangere i rækkerne og kolonnerne i matrixen \
- indsnævre: Antal rækker
- ncol: Antal kolonner
- byrow: Rækkerne udfyldes fra venstre mod højre. Vi bruger `byrow = FALSE` (standardværdier), hvis vi ønsker at matrixen skal udfyldes af kolonnerne, dvs. værdierne er udfyldt fra top til bund.
Lad os konstruere to 5×2 matrixer med en talfølge fra 1 til 10, en med byrow = TRUE og en med byrow = FALSE for at se forskellen.
# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow = TRUE matrix_a <-matrix(1:10, byrow = TRUE, nrow = 5) matrix_a
Output:
Udskriv dimension af matricen med dim()
Lad os nu udskrive dimensionen af matricen i R med dim(). Syntaksen til at udskrive matrix i R ved hjælp af dim() er:
# Print dimension of the matrix with dim() dim(matrix_a)
Output:
## [1] 5 2
Konstruer en matrix med 5 rækker, der indeholder tallene 1 op til 10 og byrow = FALSK
# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow = FALSE matrix_b <-matrix(1:10, byrow = FALSE, nrow = 5) matrix_b
Output:
Udskriv dimension af matricen med dim()
Igen, udskriv dimensionen af matrixen ved hjælp af dim(). Nedenfor er en syntaks for R printmatrixdimension:
# Print dimension of the matrix with dim() dim(matrix_b)
Output:
## [1] 5 2
Bemærk: Brug af kommando matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2) vil have samme effekt som ovenfor.
Du kan også oprette en 4×3 matrix ved hjælp af ncol. R vil oprette 3 kolonner og udfylde rækken fra top til bund. Tjek et eksempel
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) matrix_c
Output:
## [,1] [,2] [,3] ## [1,] 1 5 9 ## [2,] 2 6 10 ## [3,] 3 7 11 ## [4,] 4 8 12
Eksempel:
dim(matrix_c)
Output:
## [1] 4 3
Tilføj en kolonne til en matrix med cbind()
Du kan tilføje kolonne til matrix R med kommandoen cbind(). cbind() betyder, at kolonnebinding.cbind() kan sammenkæde så mange matrix eller kolonner som angivet. For eksempel oprettede vores tidligere eksempel en 5×2 matrix. Vi sammenkæder en tredje kolonne og kontrollerer, at dimensionen er 5×3
Eksempel:
# concatenate c(1:5) to the matrix_a matrix_a1 <- cbind(matrix_a, c(1:5)) # Check the dimension dim(matrix_a1)
Output:
## [1] 5 3
Eksempel:
matrix_a1
Produktion
## [,1] [,2] [,3] ## [1,] 1 2 1 ## [2,] 3 4 2 ## [3,] 5 6 3 ## [4,] 7 8 4 ## [5,] 9 10 5
Eksempel:
Vi kan også tilføje kolonne til matrix R, mere end én gang. Lad os se den næste talrække til matrix_a2-matricen. Dimensionen af nye matricer i R vil være 4×6 med tal fra 1 til 24.
matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)
Output:
## [,1] [,2] [,3] ## [1,] 13 17 21 ## [2,] 14 18 22 ## [3,] 15 19 23 ## [4,] 16 20 24
Eksempel:
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) matrix_d <- cbind(matrix_a2, matrix_c) dim(matrix_d)
Output:
## [1] 4 6
BEMÆRK: Antallet af rækker af matricer i R skal være det samme for cbind arbejde
cbind()sammenkæde kolonner, rbind() tilføjer rækker. Lad os tilføje en række til vores matrix_c-matrix og kontrollere, at dimensionen er 5×3
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) # Create a vector of 3 columns add_row <- c(1:3) # Append to the matrix matrix_c <- rbind(matrix_c, add_row) # Check the dimension dim(matrix_c)
Output:
## [1] 5 3
Skær en matrix i skiver
Vi kan vælge elementer et eller flere elementer fra en matrix i R programmering ved at bruge firkantede parenteser [ ]. Det er her udskæring kommer ind i billedet.
For eksempel:
- matrix_c[1,2] vælger elementet i den første række og anden kolonne.
- matrix_c[1:3,2:3] resulterer i en R-snitmatrix med dataene på rækkerne 1, 2, 3 og kolonne 2, 3,
- matrix_c[,1] vælger alle elementer i den første kolonne.
- matrix_c[1,] vælger alle elementer i den første række.
Her er det output, du får for ovenstående koder