Συνάρτηση Matrix στο R: Δημιουργία, εκτύπωση, προσθήκη στήλης και τομής

Συνάρτηση Matrix στο R

Μια συνάρτηση μήτρας στο R είναι ένας δισδιάστατος πίνακας που έχει m αριθμό σειρών και n αριθμό στηλών. Με άλλα λόγια, ο πίνακας στον προγραμματισμό R είναι ένας συνδυασμός δύο ή περισσότερων διανυσμάτων με τον ίδιο τύπο δεδομένων.

Σημείωση: Είναι δυνατή η δημιουργία περισσότερων από δύο διαστάσεων πίνακες με συνάρτηση μήτρας στο R.

Συνάρτηση Matrix στο R

Πώς να δημιουργήσετε ένα Matrix στο R

Μπορούμε να δημιουργήσουμε έναν πίνακα με τη συνάρτηση matrix(). Ακολουθεί μια συνάρτηση για τη δημιουργία ενός πίνακα στο R που παίρνει τρία ορίσματα:

matrix(data, nrow, ncol, byrow = FALSE)

επιχειρήματα:

  • ημερομηνία: Η συλλογή των στοιχείων που το R θα τακτοποιήσει στις γραμμές και τις στήλες του πίνακα \
  • nrow: Αριθμός σειρών
  • ncol: Αριθμός στηλών
  • παρακάτω: Οι σειρές γεμίζουν από τα αριστερά προς τα δεξιά. Χρησιμοποιούμε «byrow = FALSE» (προεπιλεγμένες τιμές), εάν θέλουμε ο πίνακας να συμπληρώνεται από τις στήλες, δηλαδή οι τιμές να συμπληρώνονται από πάνω προς τα κάτω.

Ας κατασκευάσουμε δύο πίνακες 5×2 με μια ακολουθία αριθμού από το 1 έως το 10, έναν με byrow = TRUE και έναν με byrow = FALSE για να δούμε τη διαφορά.

# 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

Παραγωγή:

Δημιουργήστε ένα Matrix στο R

Διάσταση εκτύπωσης του πίνακα με dim()

Τώρα, ας εκτυπώσουμε τη διάσταση του πίνακα σε R με dim(). Η σύνταξη για την εκτύπωση του πίνακα στο R χρησιμοποιώντας dim() είναι:

# Print dimension of the matrix with dim()
dim(matrix_a)

Παραγωγή:

## [1] 5 2

Κατασκευάστε έναν πίνακα με 5 σειρές που περιέχουν τους αριθμούς 1 έως 10 και byrow = FALSE

# 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

Παραγωγή:

Πίνακας με 5 σειρές που περιέχουν byrow = FALSE

Διάσταση εκτύπωσης του πίνακα με dim()

Και πάλι, εκτυπώστε τη διάσταση του πίνακα χρησιμοποιώντας dim(). Ακολουθεί μια σύνταξη της διάστασης του πίνακα εκτύπωσης R:

# Print dimension of the matrix with dim()
dim(matrix_b)

Παραγωγή:

## [1] 5 2

Σημείωση: Η χρήση της εντολής matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2) θα έχει το ίδιο αποτέλεσμα όπως παραπάνω.

Μπορείτε επίσης να δημιουργήσετε έναν πίνακα 4×3 χρησιμοποιώντας το ncol. Το R θα δημιουργήσει 3 στήλες και θα γεμίσει τη σειρά από πάνω προς τα κάτω. Ελέγξτε ένα παράδειγμα

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
matrix_c

Παραγωγή:

##       [,1] [,2] [,3]
## [1,]    1    5    9
## [2,]    2    6   10
## [3,]    3    7   11
## [4,]    4    8   12

Παράδειγμα:

dim(matrix_c)

Παραγωγή:

## [1] 4 3

Προσθέστε μια στήλη σε έναν πίνακα με την cbind()

Μπορείτε να προσθέσετε στήλη στον πίνακα R με την εντολή cbind(). Η cbind() σημαίνει δέσμευση στήλης. Η cbind() μπορεί να συνενώσει όσες μήτρες ή στήλες καθορίζεται. Για παράδειγμα, το προηγούμενο παράδειγμά μας δημιούργησε έναν πίνακα 5×2. Συνδέουμε μια τρίτη στήλη και επαληθεύουμε ότι η διάσταση είναι 5×3

Παράδειγμα:

# concatenate c(1:5) to the matrix_a
matrix_a1 <- cbind(matrix_a, c(1:5))
# Check the dimension
dim(matrix_a1)

Παραγωγή:

## [1] 5 3

Παράδειγμα:

matrix_a1

Παραγωγή

##       [,1] [,2] [,3]
## [1,]    1    2    1
## [2,]    3    4    2
## [3,]    5    6    3
## [4,]    7    8    4
## [5,]    9   10    5

Παράδειγμα:

Μπορούμε επίσης να προσθέσουμε στήλη στον πίνακα R, περισσότερες από μία φορές. Ας δούμε την επόμενη ακολουθία αριθμών στον πίνακα matrix_a2. Η διάσταση των νέων πινάκων στο R θα είναι 4×6 με αριθμό από 1 έως 24.

matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)

Παραγωγή:

##      [,1] [,2] [,3]
## [1,]   13   17   21
## [2,]   14   18   22
## [3,]   15   19   23
## [4,]   16   20   24

Παράδειγμα:

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)		
matrix_d <- cbind(matrix_a2, matrix_c)
dim(matrix_d)

Παραγωγή:

## [1] 4 6

ΣΗΜΕΊΩΣΗ: Ο αριθμός των σειρών πινάκων στο R πρέπει να είναι ίσος για το έργο cbind

Η cbind() συνενώνει στήλες, η rbind() προσαρτά σειρές. Ας προσθέσουμε μια σειρά στον πίνακα matrix_c και επαληθεύουμε ότι η διάσταση είναι 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)

Παραγωγή:

## [1] 5 3

Κόψτε ένα Matrix

Μπορούμε να επιλέξουμε στοιχεία ένα ή πολλά στοιχεία από έναν πίνακα μέσα Προγραμματισμός R χρησιμοποιώντας τις αγκύλες [ ]. Αυτό είναι όπου ο τεμαχισμός έρχεται στην εικόνα.

Για παράδειγμα:

  • Το matrix_c[1,2] επιλέγει το στοιχείο στην πρώτη γραμμή και στη δεύτερη στήλη.
  • Το matrix_c[1:3,2:3] καταλήγει σε έναν πίνακα R slice με τα δεδομένα στις σειρές 1, 2, 3 και στις στήλες 2, 3,
  • Το matrix_c[,1] επιλέγει όλα τα στοιχεία της πρώτης στήλης.
  • Το matrix_c[1,] επιλέγει όλα τα στοιχεία της πρώτης σειράς.

Εδώ είναι η έξοδος που λαμβάνετε για τους παραπάνω κωδικούς

Κόψτε ένα Matrix