Τύποι δεδομένων σε R με Παράδειγμα

⚡ Έξυπνη Σύνοψη

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

  • 🔘 Atomτύποι ολοκληρωμένων κυκλωμάτων: Η R αποθηκεύει κάθε τιμή ως λογική, ακέραια, διπλή, σύνθετη, χαρακτήρων ή ακατέργαστη.
  • ☑️ Έλεγχος τύπου: Οι class(), typeof() και mode() περιγράφουν μια τιμή από τρεις διαφορετικές οπτικές γωνίες.
  • Διανύσματα: Η συνάρτηση c() δημιουργεί μια μονοδιάστατη συλλογή στην οποία κάθε στοιχείο μοιράζεται έναν τύπο.
  • 🧪 Operators: Οι αριθμητικοί, σχεσιακοί, λογικοί και τελεστές ανάθεσης καλύπτουν σχεδόν κάθε βασική έκφραση R.
  • Υποσύνολο: Οι αγκύλες σε συνδυασμό με μια λογική συνθήκη φιλτράρουν διανυσματικά στοιχεία σε μία μόνο γραμμή.
  • ⚠️ Σημείωση έκδοσης: Το R 4.3.0 μετέτρεψε ένα όρισμα μήκους μεγαλύτερου από ένα σε && ή || σε σφάλμα.

Τύποι δεδομένων στην R

Ποιοι είναι οι τύποι δεδομένων στο R;

Ακολουθούν οι τύποι δεδομένων ή οι δομές δεδομένων στον προγραμματισμό R:

Αυτή η λίστα συνδυάζει δύο σχετικές ιδέες και ο διαχωρισμός τους διευκολύνει την παρακολούθηση της υπόλοιπης σελίδας. A Τύπος δεδομένων περιγράφει τι είναι μια μεμονωμένη τιμή — ένας αριθμός, ένα κομμάτι κειμένου, ένα ΣΩΣΤΟ ή ένα ΛΑΘΟΣ. Ένα δομή δεδομένων Περιγράφει πόσες τιμές συγκρατούνται μαζί και σε ποιο σχήμα. Οι βαθμωτές τιμές, τα διανύσματα, οι πίνακες, τα πλαίσια δεδομένων και οι λίστες είναι δομές. Οι τιμές μέσα σε αυτές εξακολουθούν να ανήκουν σε έναν από τους βασικούς τύπους της R.

Structure Διαστάσεις Επιτρέπονται οι μικτές μορφές; Τυπική χρήση
Βαθμωτό μέγεθος Διάνυσμα μήκους-1 Οχι Μία μόνο μέτρηση ή σημαία
διάνυσμα 1 Οχι Μια στήλη με αναγνώσεις ενός τύπου
Μήτρα 2 Οχι Αριθμητικά πλέγματα και γραμμική άλγεβρα
Πλαίσιο δεδομένων 2 Ναι, ένας τύπος ανά στήλη Σύνολα δεδομένων σε μορφή πίνακα
Λιστα 1, αλλά μπορεί να ενσωματωθεί Ναι, οτιδήποτε ανά στοιχείο Αποτελέσματα μοντέλου και μικτά κοντέινερ

Η R δεν έχει ξεχωριστό βαθμωτό τύπο: ένα βαθμωτό είναι απλώς ένα διάνυσμα μήκους ένα, γι' αυτό και γράφεται τόσος πολύς κώδικας R για ολόκληρα διανύσματα ταυτόχρονα.

Βασικοί τύποι δεδομένων στην R

Κάθε τιμή στο R ανήκει σε έναν από ένα μικρό σύνολο βασικών (ατομικών) τύπων:

  • Το 4.5 είναι μια δεκαδική τιμή που ονομάζεται αριθμητική τιμή.
  • Το 4 μοιάζει με ακέραιο αριθμό, αλλά η R εξακολουθεί να το αποθηκεύει ως διπλάσιο. Γράψτε 4L όταν απαιτείται ένας αληθής ακέραιος αριθμός.
  • Η τιμή TRUE ή FALSE είναι μια Boolean τιμή, που ονομάζεται λογική τιμή στην R.
  • Η τιμή μέσα στο " " ή " είναι κείμενο (μια συμβολοσειρά). Αυτές οι τιμές ονομάζονται χαρακτήρες.

Δύο ακόμη τύποι συμπληρώνουν το σύνολο. Οι σύνθετες τιμές όπως το 3+2i περιέχουν ένα πραγματικό και ένα φανταστικό μέρος, ενώ οι ακατέργαστες τιμές περιέχουν bytes. Και οι δύο εμφανίζονται σπάνια στην καθημερινή ανάλυση, αλλά παρατίθενται στη βάση R. τεκμηρίωση typeof() παράλληλα με τους τέσσερις κοινούς τύπους.

Χαρακτηριστικά Παράδειγμα τιμής επιστρέφει η κλάση() Η typeof() επιστρέφει
λογικός ΑΛΗΘΙΝΗ λογικός λογικός
Ακέραιος αριθμός 4L ακέραιος αριθμός ακέραιος αριθμός
Double (αριθμητικός) 4.5 αριθμητικός διπλασιαστεί
Χαρακτήρας «Ο Ρ είναι φανταστικός» χαρακτήρας χαρακτήρας
Συγκρότημα 3+2i συγκρότημα συγκρότημα
Ωμοί ξηροί καρποί ως.raw(10) ακατέργαστος ακατέργαστος

Μπορούμε να ελέγξουμε τον τύπο μιας μεταβλητής με τη συνάρτηση κλάσης.

Παράδειγμα 1: Έλεγχος αριθμητικής μεταβλητής

# Declare variables of different types
# Numeric
x <- 28
class(x)

Παραγωγή:

## [1] "numeric"

Παράδειγμα 2: Έλεγχος μιας μεταβλητής χαρακτήρα

# String
y <- "R is Fantastic"
class(y)

Παραγωγή:

## [1] "character"

Παράδειγμα 3: Έλεγχος μιας λογικής μεταβλητής

# Boolean
z <- TRUE
class(z)

Παραγωγή:

## [1] "logical"

Σημειώστε ότι η class() απαντά "αριθμητικό" για το 28 παρόλο που το 28 δεν έχει δεκαδικό μέρος. Η R το αποθήκευσε ως double και μόνο η typeof() το αποκαλύπτει αυτό. Η επόμενη διαφορά που αξίζει να μάθουμε είναι ο τρόπος με τον οποίο αυτές οι τιμές παίρνουν ονόματα.

Μεταβλητές στο R

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

Για να δηλώσουμε μια μεταβλητή στην R, πρέπει να εκχωρήσουμε ένα όνομα μεταβλητής. Το όνομα δεν πρέπει να περιέχει κενό. Μπορούμε να χρησιμοποιήσουμε _ για να ενώσουμε δύο λέξεις.

Τα ονόματα μπορούν να περιέχουν γράμματα, ψηφία, τελείες και υπογράμμιση, αλλά πρέπει να ξεκινούν με ένα γράμμα ή μια τελεία, και οι δεσμευμένες λέξεις όπως TRUE, FALSE και NULL δεν μπορούν να χρησιμοποιηθούν ως ονόματα. Για να προσθέσετε μια τιμή στη μεταβλητή, χρησιμοποιήστε <- ή =.

Εδώ είναι η σύνταξη:

# First way to declare a variable:  use the `<-`
name_of_variable <- value
# Second way to declare a variable:  use the `=`
name_of_variable = value

Στη γραμμή εντολών, μπορούμε να γράψουμε τους ακόλουθους κωδικούς για να δούμε τι συμβαίνει:

Παράδειγμα 1: Αντιστοίχιση τιμής και εκτύπωσή της

# Print variable x
x <- 42
x

Παραγωγή:

## [1] 42

Παράδειγμα 2: Δήλωση δεύτερης μεταβλητής

y  <- 10
y

Παραγωγή:

## [1] 10

Παράδειγμα 3: Χρήση δύο μεταβλητών σε μία έκφραση

# We call x and y and apply a subtraction
x-y

Παραγωγή:

## [1] 32

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

Διανύσματα σε R

Ένα διάνυσμα είναι μια μονοδιάστατη συλλογή στην οποία κάθε στοιχείο μοιράζεται τον ίδιο τύπο. Μπορούμε να δημιουργήσουμε ένα διάνυσμα με όλους τους βασικούς τύπους δεδομένων R που μάθαμε νωρίτερα. Ο απλούστερος τρόπος για να δημιουργήσετε ένα διάνυσμα στην R είναι να χρησιμοποιήσετε τη συνάρτηση c().

Παράδειγμα 1: Δημιουργία αριθμητικού διανύσματος

# Numerical
vec_num <- c(1, 10, 49)
vec_num

Παραγωγή:

## [1]  1 10 49

Παράδειγμα 2: Δημιουργία διανύσματος χαρακτήρα

# Character 
vec_chr <- c("a", "b", "c")
vec_chr

Παραγωγή:

## [1] "a" "b" "c"

Παράδειγμα 3: Δημιουργία Λογικού Διανύσματος

# Boolean 
vec_bool <-  c(TRUE, FALSE, TRUE)
vec_bool

Παραγωγή:

##[1] TRUE FALSE TRUE

Αν η c() λάβει ένα μείγμα τύπων, δεν αποτυγχάνει. Μεταφέρει αθόρυβα κάθε στοιχείο στον πιο γενικό τύπο που υπάρχει, έτσι ώστε η c(1, "a", TRUE) να γίνεται ένα διάνυσμα χαρακτήρων. Μπορούμε επίσης να κάνουμε αριθμητικούς υπολογισμούς σε διανύσματα σε R.

Παράδειγμα 4: Προσθήκη δύο διανυσμάτων στοιχείο προς στοιχείο

# Create the vectors
vect_1 <- c(1, 3, 5)
vect_2 <- c(2, 4, 6)
# Take the sum of A_vector and B_vector
sum_vect <- vect_1 + vect_2
# Print out total_vector
sum_vect

Παραγωγή:

[1]  3  7 11

Η πρόσθεση λειτούργησε στοιχείο προς στοιχείο επειδή και τα δύο διανύσματα έχουν το ίδιο μήκος. Όταν τα μήκη διαφέρουν, το R ανακυκλώνει το μικρότερο διάνυσμα, επαναλαμβάνοντάς το μέχρι να ταιριάζει με το μεγαλύτερο, και προειδοποιεί μόνο όταν το μεγαλύτερο μήκος δεν είναι πολλαπλάσιο του μικρότερου.

Παράδειγμα 5: Τεμαχισμός των Πρώτων Πέντε Στοιχείων

Στην R, είναι δυνατό να κάνουμε τομή ενός διανύσματος. Σε ορισμένες περιπτώσεις, μας ενδιαφέρουν μόνο τα πρώτα πέντε στοιχεία ενός διανύσματος. Μπορούμε να χρησιμοποιήσουμε την εντολή [1:5] για να εξηγήσουμεtract τις τιμές 1 έως 5.

# Slice the first five rows of the vector
slice_vector <- c(1,2,3,4,5,6,7,8,9,10)
slice_vector[1:5]

Παραγωγή:

## [1] 1 2 3 4 5

Παράδειγμα 6: Δημιουργήστε ένα εύρος με την άνω και κάτω τελεία OperaTor

Ο συντομότερος τρόπος για να δημιουργήσετε ένα εύρος τιμών είναι να χρησιμοποιήσετε τον τελεστή άνω και κάτω τελεία (:) μεταξύ δύο αριθμών. Για παράδειγμα, από το παραπάνω παράδειγμα, μπορούμε να γράψουμε c(1:10) για να δημιουργήσουμε ένα διάνυσμα τιμών από το ένα έως το δέκα.

# Faster way to create adjacent values
c(1:10)

Παραγωγή:

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

Επειδή ένα διάνυσμα αλλάζει σιωπηλά τύπο όταν αναμειγνύεται, αξίζει να γνωρίζετε πώς να επιθεωρείτε και να μετατρέπετε τύπους κατόπιν ζήτησης.

Πώς να ελέγξετε και να μετατρέψετε τύπους δεδομένων σε R

Τρεις οικογένειες συναρτήσεων απαντούν στα τρία ερωτήματα που προκύπτουν συνεχώς: τι είναι αυτό, είναι ένας δεδομένος τύπος και μπορεί αυτό να γίνει ένας άλλος τύπος.

Οικογένεια συναρτήσεων Ερώτηση που απαντά Παραδείγματα
κλάση(), τύπος(), λειτουργία() Τι είδους είναι αυτή η τιμή; κλάση(28), τύπος(28), λειτουργία(28)
είναι.*() Είναι αυτή η τιμή τύπου Χ; is.numeric(), is.character(), is.logical()
ως.*() Μπορεί αυτή η τιμή να γίνει τύπου Χ; as.numeric(), as.character(), as.integer()
str () Πώς μοιάζει συνολικά αυτό το αντικείμενο; str(αριθμός_διανυσμάτων)
# Three different views of the same value
x <- 28
class(x)      # "numeric"  -- the class used for method dispatch
typeof(x)     # "double"   -- how R stores the value internally
mode(x)       # "numeric"  -- the older S-style mode

# Ask a yes/no question about a type
is.numeric(x)     # TRUE
is.character(x)   # FALSE

# Convert between types
as.character(x)   # "28"
as.integer("28")  # 28 stored as an integer
as.numeric("abc") # NA, with a coercion warning

Δύο κανόνες εξηγούν τις περισσότερες εκπλήξεις εδώ. Πρώτον, η class() αναφέρει την κλάση που χρησιμοποιείται για την αποστολή της μεθόδου, ενώ η typeof() αναφέρει την εσωτερική αποθήκευση, γι' αυτό και η 28 είναι "αριθμητική" στη μία και "διπλή" στην άλλη. Δεύτερον, μια μετατροπή που δεν μπορεί να επιτύχει δεν σταματά το σενάριο: η as.numeric("abc") επιστρέφει NA και εκτυπώνει μια προειδοποίηση εξαναγκασμού, επομένως οι σιωπηλές NA μετά από μια εισαγωγή είναι σχεδόν πάντα ένα πρόβλημα τύπου. Η ίδια λογική οδηγεί παράγοντες, τα οποία αποθηκεύουν κατηγορίες ως ακέραιους κωδικούς συν έναν πίνακα επιπέδων.

Αφού καθοριστούν οι τύποι, οι τελεστές που ενεργούν σε αυτούς είναι οι επόμενοι.

R Αριθμητική Operaκορμοί

Αρχικά θα δούμε τους βασικούς αριθμητικούς τελεστές στην R. Ακολουθούν οι αριθμητικοί τελεστές στον προγραμματισμό R και τι αντιπροσωπεύουν:

OperaTor Περιγραφή
+ Προσθήκη
- Σεtracσμού
* Πολλαπλασιασμός
/ διαίρεση
^ ή ** Επέκταση
%% Modulo (υπόλοιπο μετά τη διαίρεση)
%/% Διαίρεση ακεραίου (πηλίκο, υπόλοιπο απορρίπτεται)

Κάθε ένας από αυτούς τους τελεστές είναι διανυσματοποιημένος, επομένως η ίδια παράσταση λειτουργεί σε μία μόνο τιμή ή σε ολόκληρη στήλη.

Παράδειγμα 1: Πρόσθεση

# An addition
3 + 4

Παραγωγή:

## [1] 7

Μπορείτε εύκολα να αντιγράψετε και να επικολλήσετε τον παραπάνω κώδικα R στο Rstudio Κονσόλα. Σε αυτό το άρθρο, η έξοδος εμφανίζεται σε γραμμές που ξεκινούν με ##. Για παράδειγμα, αν γράψουμε τον κώδικα print("Guru99") η κονσόλα εκτυπώνει [1] "Guru99", το οποίο αυτή η σελίδα θα εμφανιζόταν ως ## [1] "Guru99 ".

Το ## σηματοδοτεί μια γραμμή εκτυπωμένης εξόδου και ο αριθμός στην αγκύλη ([1]) είναι ο δείκτης της πρώτης τιμής σε αυτήν τη γραμμή και όχι μέρος του αποτελέσματος.

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

Παράδειγμα 2: Πολλαπλασιασμός

# A multiplication
3*5

Παραγωγή:

## [1] 15

Παράδειγμα 3: Διαίρεση

# A division
(5+5)/2

Παραγωγή:

## [1] 5

Παράδειγμα 4: Εκθετοποίηση

# Exponentiation
2^5

Παραγωγή:

## [1] 32

Παράδειγμα 5: Ενότητα

# Modulo
28%%6

Παραγωγή:

## [1] 4

Η αριθμητική παράγει αριθμούς. Η επόμενη ομάδα τελεστών παράγει αντ' αυτού TRUE και FALSE.

Σχεσιακή R (Σύγκριση) Operaκορμοί

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

OperaTor Περιγραφή
> Μεγαλύτερος από
< Less από
>= Μεγαλύτερο ή ίσο με
<= Less από ή ίσο με
== Ακριβώς ίσο με
!= Οχι ίσο με
a <- 10
b <- 3

a > b     # TRUE
a < b     # FALSE
a >= 10   # TRUE
a <= 3    # FALSE
a == b    # FALSE
a != b    # TRUE

# Relational operators are vectorised
scores <- c(45, 78, 90, 62)
scores >= 60   # FALSE TRUE TRUE TRUE

Δύο συνήθειες εξοικονομούν χρόνο εδώ. Χρησιμοποιήστε == για σύγκριση και <- για ανάθεση, επειδή ένα μονό = μέσα σε μια συνθήκη είναι ένα συνηθισμένο σφάλμα για αρχάριους. Και αποφύγετε το == σε διπλές περιπτώσεις: η στρογγυλοποίηση με κινητή υποδιαστολή σημαίνει ότι 0.1 + 0.2 == 0.3 είναι ΛΑΘΟΣ, επομένως το isTRUE(all.equal(0.1 + 0.2, 0.3)) είναι η ασφαλής δοκιμή. Οι συγκρίσεις σε ταξινομημένα πλαίσια δεδομένων ακολουθήστε τους ίδιους κανόνες.

R Λογικό Operaκορμοί

Με τους λογικούς τελεστές, θέλουμε να επιστρέψουμε τιμές μέσα στο διάνυσμα με βάση λογικές συνθήκες. Ο παρακάτω πίνακας παραθέτει τους λογικούς τελεστές που είναι διαθέσιμοι στην R.

Πίνακας αναφοράς λογικών και σχεσιακών τελεστών στην R με τις σημασίες τους

Οι λογικές προτάσεις στην R είναι τυλιγμένες μέσα στο []. Μπορούμε να προσθέσουμε όσες προτάσεις υπό όρους θέλουμε, αλλά πρέπει να τις συμπεριλάβουμε σε παρενθέσεις. Μπορούμε να ακολουθήσουμε αυτήν τη δομή για να δημιουργήσουμε μια πρόταση υπό όρους:

variable_name[(conditional_statement)]

Με το variable_name να αναφέρεται στη μεταβλητή που θέλουμε να χρησιμοποιήσουμε για την πρόταση, δημιουργούμε τη λογική πρόταση, για παράδειγμα variable_name > 0. Τέλος, χρησιμοποιούμε τις αγκύλες για να οριστικοποιήσουμε τη λογική πρόταση. Παρακάτω είναι ένα παράδειγμα λογικής πρότασης.

Παράδειγμα 1: Σύγκριση κάθε στοιχείου ενός διανύσματος

# Create a vector from 1 to 10
logical_vector <- c(1:10)
logical_vector>5

Παραγωγή:

## [1]FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE

Στην παραπάνω έξοδο, η R διαβάζει κάθε τιμή και τη συγκρίνει με την πρόταση logical_vector>5. Εάν η τιμή είναι αυστηρά μεγαλύτερη από πέντε, τότε η συνθήκη είναι TRUE, διαφορετικά FALSE. Η R επιστρέφει ένα διάνυσμα TRUE και FALSE.

Παράδειγμα 2: Διατηρήστε μόνο τα στοιχεία που ταιριάζουν

Στο παρακάτω παράδειγμα, θέλουμε να πούμεtract τις τιμές που πληρούν μόνο την συνθήκη «είναι αυστηρά μεγαλύτερο από πέντε». Για αυτό, μπορούμε να τυλίξουμε τη συνθήκη μέσα σε αγκύλες που προηγούνται από το διάνυσμα που περιέχει τις τιμές.

# Print value strictly above 5
logical_vector[(logical_vector>5)]

Παραγωγή:

## [1]  6  7  8  9 10

Παράδειγμα 3: Συνδυασμός δύο συνθηκών

# Print 5 and 6
logical_vector <- c(1:10)
logical_vector[(logical_vector>4) & (logical_vector<7)]

Παραγωγή:

## [1] 5 6

Το Παράδειγμα 3 χρησιμοποιεί το μοναδικό εμπορικό "&" επίτηδες. Οι μονοχαρακτήρες τελεστές & και | συγκρίνουν τα διανύσματα στοιχείο προς στοιχείο και επιστρέφουν ένα διάνυσμα, το οποίο είναι αυτό που χρειάζεται το υποσύνολο. Οι διπλές μορφές && και || επιστρέφουν μία τιμή και ανήκουν στις συνθήκες if() και while(). Εφόσον Ε 4.3.0, η μεταβίβαση ενός ορίσματος μεγαλύτερου από ένα στοιχείο στο && ή στο || αποτελεί σφάλμα και όχι προειδοποίηση, επομένως οι δύο οικογένειες δεν είναι πλέον εναλλάξιμες. Ο τελεστής ! αναιρεί μια συνθήκη και το xor() δίνει αποκλειστικό OR.

Ανάθεση R Operaκορμοί

Οι τελεστές ανάθεσης συνδέουν μια τιμή με ένα όνομα. Η R προσφέρει περισσότερους από αυτούς από τις περισσότερες γλώσσες και οι διαφορές έχουν σημασία μόλις ο κώδικας μεταφερθεί σε λειτουργίες.

OperaTor Περιγραφή
<- Αριστερή ανάθεση, η ιδιωματική επιλογή στο R
= Αριστερή ανάθεση, αλλά συνήθως κρατείται για ορίσματα συνάρτησης
-> Σωστή ανάθεση, έγκυρη αλλά σπάνια χρησιμοποιείται
<<- Υπερανάθεση που αναζητά περιβάλλοντα που περικλείουν
- >> Δεξιά υπερανάθεση
# Left assignment -- the idiomatic form
count <- 5

# Equals sign: works, but reserve it for function arguments
count = 5
round(3.14159, digits = 2)

# Right assignment
5 -> count

# Superassignment, used inside functions to reach an outer scope
count <<- 5

Οι οδηγοί στυλ συνιστούν το <- για τη δημιουργία αντικειμένων και το = για την ονομασία ορισμάτων μέσα σε μια κλήση, επειδή οι δύο ρόλοι παραμένουν οπτικά διακριτοί. Χρησιμοποιήστε το <<- με φειδώ: αλλάζει ένα αντικείμενο εκτός της τρέχουσας συνάρτησης και καθιστά πιο δύσκολο τον συλλογισμό σχετικά με τον κώδικα. Μόλις η ανάθεση και οι τύποι γίνουν βολικοί, τα επόμενα βήματα είναι εισαγωγή πραγματικών δεδομένων και ρέσαping με το dplyr? Η Επισκόπηση της γλώσσας R τοποθετεί ολόκληρη την αλυσίδα εργαλείων στο σωστό πλαίσιο.

Συχνές Ερωτήσεις

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

Όταν δύο διανύσματα διαφορετικού μήκους συναντούν έναν τελεστή, το R επαναλαμβάνει το μικρότερο μέχρι να ταιριάξουν τα μήκη. Το c(1,2,3,4) + c(1,2) δίνει 2 4 4 6. Μια προειδοποίηση εμφανίζεται μόνο όταν το μεγαλύτερο μήκος δεν είναι πολλαπλάσιο.

Το NA σηματοδοτεί μια τιμή που λείπει μέσα σε ένα διάνυσμα. Το NULL σηματοδοτεί την απουσία ενός αντικειμένου και έχει μηδενικό μήκος. Το NaN είναι ένα απροσδιόριστο αριθμητικό αποτέλεσμα, όπως το 0/0. Το Inf είναι η διαίρεση με το μηδέν, όπως στο 1/0.

Ο τελεστής %in% ελέγχει την ιδιότητα μέλους και επιστρέφει TRUE για κάθε αριστερό στοιχείο που βρίσκεται στο δεξί διάνυσμα. c(2,7) %in% c(1,2,3) επιστρέφει TRUE FALSE. Αντικαθιστά μεγάλες αλυσίδες συγκρίσεων == που συνδέονται με |.

Επιλέξτε μήτρα για αριθμητικά πλέγματα και γραμμική άλγεβρα, ένα πλαίσιο δεδομένων για πίνακες των οποίων οι στήλες διαφέρουν ως προς τον τύπο, και ένα λίστα όταν τα στοιχεία έχουν διαφορετικά σχήματα.

Παρουσιάζεται στην R 4.1.0, η έκδοση |> μεταβιβάζει την τιμή στα αριστερά της στο πρώτο όρισμα της συνάρτησης στα δεξιά της. Αλυσιδώνει βήματα χωρίς να ενσωματώνει κλήσεις και δεν χρειάζεται πακέτο, σε αντίθεση με τον αγωγό magrittr %>%.

Οι βοηθοί τεχνητής νοημοσύνης επισημαίνουν αναντιστοιχίες τύπων, προτείνουν μετατροπές ως * και σχεδιάζουν κώδικα επανακωδικοποίησης από ένα δείγμα γραμμών. Προτείνουν επίσης βήματα μηχανικής χαρακτηριστικών πριν από ένα μάθηση μηχανής το μοντέλο είναι προσαρμοσμένο. Ελέγχετε πάντα τον παραγόμενο κώδικα σε σχέση με τα δεδομένα σας.

Ναι. Το RStudio 2023.09.0 και οι νεότερες εκδόσεις αποστέλλουν ένα GitHub Copilot Ενσωμάτωση που ολοκληρώνει τις εκφράσεις R ενσωματωμένα. Απαιτείται συνδρομή στο Copilot και οι διαχειριστές πρέπει να την ενεργοποιήσουν στον RStudio Server ή στο Posit Workbench.

Συνοψίστε αυτήν την ανάρτηση με: