R matice
Matrice
Matice je dvourozměrná datová sada se sloupci a řádky.
Sloupec je vertikální reprezentace dat, zatímco řádek je horizontální reprezentace dat.
Pomocí funkce lze vytvořit matici matrix()
. Chcete-li získat počet řádků a sloupců, zadejte parametry nrow
a :ncol
Příklad
# Create a matrix
thismatrix <- matrix(c(1,2,3,4,5,6), nrow = 3, ncol = 2)
# Print the
matrix
thismatrix
Poznámka: Pamatujte, že c()
funkce se používá ke spojení položek dohromady.
Můžete také vytvořit matici s řetězci:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
thismatrix
Přístup k položkám matice
K položkám se dostanete pomocí [ ]
závorek. První číslo „1“ v závorce určuje pozici řádku, zatímco druhé číslo „2“ určuje pozici sloupce:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
thismatrix[1, 2]
Celý řádek je přístupný, pokud za číslem v závorce zadáte čárku :
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
thismatrix[2,]
Celý sloupec je přístupný, pokud před číslem v závorce zadáte čárku :
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
thismatrix[,2]
Přístup k více než jednomu řádku
Pokud použijete c()
funkci, můžete získat přístup k více než jednomu řádku:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape",
"pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
thismatrix[c(1,2),]
Přístup k více než jednomu sloupci
Pokud použijete c()
funkci, můžete získat přístup k více než jednomu sloupci:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape",
"pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
thismatrix[,
c(1,2)]
Přidat řádky a sloupce
Použijte cbind()
funkci k přidání dalších sloupců do matice:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape",
"pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
newmatrix <-
cbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
# Print the new matrix
newmatrix
Poznámka: Buňky v novém sloupci musí mít stejnou délku jako stávající matice.
Použijte rbind()
funkci k přidání dalších řádků do matice:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape",
"pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
newmatrix <-
rbind(thismatrix, c("strawberry", "blueberry", "raspberry"))
# Print the new matrix
newmatrix
Poznámka: Buňky v novém řádku musí mít stejnou délku jako stávající matice.
Odebrat řádky a sloupce
Použijte c()
funkci k odstranění řádků a sloupců v matici:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange", "mango", "pineapple"),
nrow = 3, ncol =2)
#Remove the first row and the first column
thismatrix <- thismatrix[-c(1), -c(1)]
thismatrix
Zkontrolujte, zda položka existuje
Chcete-li zjistit, zda je určitá položka přítomna v matici, použijte %in%
operátor:
Příklad
Zkontrolujte, zda je v matici přítomno „jablko“:
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
"apple" %in% thismatrix
Počet řádků a sloupců
Použijte dim()
funkci k nalezení počtu řádků a sloupců v matici:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
dim(thismatrix)
Délka matice
Použijte length()
funkci k nalezení rozměru matice:
Příklad
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
length(thismatrix)
Celkový počet buněk v matici je počet řádků vynásobený počtem sloupců.
Ve výše uvedeném příkladu: Dimension = 2*2 = 4 .
Smyčka přes matici
Matrix můžete procházet for
smyčkou. Smyčka začne na prvním řádku a posune se doprava:
Příklad
Projděte položky matice a vytiskněte je:
thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol
= 2)
for (rows in 1:nrow(thismatrix)) {
for (columns in
1:ncol(thismatrix)) {
print(thismatrix[rows, columns])
}
}
Spojte dvě matice
Opět můžete použít funkci rbind()
nebo cbind()
ke spojení dvou nebo více matic dohromady:
Příklad
# Combine matrices
Matrix1 <- matrix(c("apple", "banana", "cherry",
"grape"), nrow = 2, ncol = 2)
Matrix2 <- matrix(c("orange", "mango",
"pineapple", "watermelon"), nrow = 2, ncol = 2)
# Adding it as a rows
Matrix_Combined <- rbind(Matrix1, Matrix2)
Matrix_Combined
# Adding it as a columns
Matrix_Combined <- cbind(Matrix1, Matrix2)
Matrix_Combined