Για βρόχο στο R με παραδείγματα λίστας και Matrix

Πίνακας περιεχομένων:

Anonim

Το for for loop είναι πολύ χρήσιμο όταν πρέπει να επαναλάβουμε μια λίστα στοιχείων ή μια σειρά αριθμών. Ο βρόχος μπορεί να χρησιμοποιηθεί για επανάληψη μιας λίστας, πλαισίου δεδομένων, φορέα, μήτρας ή οποιουδήποτε άλλου αντικειμένου. Τα στηρίγματα και το τετράγωνο βραχίονα είναι υποχρεωτικά.

Σε αυτό το σεμινάριο, θα μάθουμε,

  • Για σύνταξη και παραδείγματα βρόχου
  • Για Loop πάνω από μια λίστα
  • Για Loop over matrix

Για σύνταξη και παραδείγματα βρόχου

For (i in vector) {Exp}

Εδώ,

Το R θα περιβάλλει όλες τις μεταβλητές στο διάνυσμα και θα κάνει τον υπολογισμό που γράφεται μέσα στο exp.

Ας δούμε μερικά παραδείγματα.

Παράδειγμα 1 : Επαναλαμβάνουμε όλα τα στοιχεία ενός διανύσματος και εκτυπώνουμε την τρέχουσα τιμή.

# Create fruit vectorfruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana')# Create the for statementfor ( i in fruit){print(i)}

Παραγωγή:

## [1] "Apple"## [1] "Orange"## [1] "Passion fruit"## [1] "Banana"

Παράδειγμα 2 : δημιουργεί μια μη γραμμική συνάρτηση χρησιμοποιώντας το πολυώνυμο του x μεταξύ 1 και 4 και την αποθηκεύουμε σε μια λίστα

# Create an empty listlist <- c()# Create a for statement to populate the listfor (i in seq(1, 4, by=1)) {list[[i]] <- i*i}print(list)

Παραγωγή:

## [1] 1 4 9 16 

Το for loop είναι πολύτιμο για εργασίες μηχανικής μάθησης. Αφού εκπαιδεύσουμε ένα μοντέλο, πρέπει να τακτοποιήσουμε το μοντέλο για να αποφύγουμε την υπερβολική εφαρμογή. Η κανονικοποίηση είναι μια πολύ κουραστική εργασία γιατί πρέπει να βρούμε την τιμή που ελαχιστοποιεί τη λειτουργία απώλειας. Για να μας βοηθήσουν να εντοπίσουμε αυτές τις τιμές, μπορούμε να χρησιμοποιήσουμε το a for loop για να επαναλάβουμε μια σειρά τιμών και να ορίσουμε τον καλύτερο υποψήφιο.

Για Loop πάνω από μια λίστα

Η αναδίπλωση μιας λίστας είναι εξίσου εύκολη και βολική με την αναδίπλωση ενός διανύσματος. Ας δούμε ένα παράδειγμα

# Create a list with three vectorsfruit <- list(Basket = c('Apple', 'Orange', 'Passion fruit', 'Banana'),Money = c(10, 12, 15), purchase = FALSE)for (p in fruit){print(p)}

Παραγωγή:

## [1] "Apple" "Orange" "Passion fruit" "Banana"## [1] 10 12 15## [1] FALSE

Για Loop over matrix

Ένας πίνακας έχει 2 διαστάσεις, σειρές και στήλες. Για να επαναλάβουμε έναν πίνακα, πρέπει να ορίσουμε δύο για το βρόχο, δηλαδή ένα για τις σειρές και ένα άλλο για τη στήλη.

# Create a matrixmat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2)# Create the loop with r and c to iterate over the matrixfor (r in 1:nrow(mat))for (c in 1:ncol(mat))print(paste("Row", r, "and column",c, "have values of", mat[r,c]))

Παραγωγή:

## [1] "Row 1 and column 1 have values of 10"## [1] "Row 1 and column 2 have values of 16"## [1] "Row 2 and column 1 have values of 11"## [1] "Row 2 and column 2 have values of 17"## [1] "Row 3 and column 1 have values of 12"## [1] "Row 3 and column 2 have values of 18"## [1] "Row 4 and column 1 have values of 13"## [1] "Row 4 and column 2 have values of 19"## [1] "Row 5 and column 1 have values of 14"## [1] "Row 5 and column 2 have values of 20"## [1] "Row 6 and column 1 have values of 15"## [1] "Row 6 and column 2 have values of 10"