Διαδρομές
/
R
R
/
Ύλη
/
Γνώρισμα names
Γν

Γνώρισμα names σε R

1 άσκηση

Σχετικά με την έννοια Γνώρισμα names

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

Δημιουργία

Υπάρχουν τρεις τρόποι για να προσθέσεις ονόματα σε ένα διάνυσμα.

  1. Κατά τη δημιουργία του διανύσματος
> work_days <- c(Mon = TRUE, Tue = TRUE, Wed = TRUE, Thu = TRUE, Fri = TRUE, Sat = FALSE, Sun = FALSE)
> work_days
  Mon   Tue   Wed   Thu   Fri   Sat   Sun 
 TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE 
  1. Αναθέτοντας ένα διάνυσμα χαρακτήρων στο names()
> months <- c(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
> names(months) <- month.abb
> months
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 
 31  28  31  30  31  30  31  31  30  31  30  31 
  1. Με το setNames()
> months <- c(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
> setNames(months, month.name)
  January  February     March     April       May      June      July    August September   October  November  December 
       31        28        31        30        31        30        31        31        30        31        30        31 

Αφαίρεση

Αν δεν θέλεις πια τα ονόματα, μπορείς να τα αφαιρέσεις ορίζοντάς τα σε NULL

> work_days
  Mon   Tue   Wed   Thu   Fri   Sat   Sun 
 TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE 
> names(work_days) <- NULL
> work_days
[1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE

Η συνάρτηση unname() πετυχαίνει το ίδιο, και ίσως κάνει την πρόθεσή σου πιο σαφή.

Εργασία με ονόματα

Η συνάρτηση names() μπορεί να ανακτήσει τα ονόματα, καθώς και να τα ορίσει.

> names(months) <- month.abb
> names(months)[1:3]
[1] "Jan" "Feb" "Mar"

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

> months[c("Jul", "Aug")]
Jul Aug 
 31  31 

Για να λειτουργεί σωστά αυτή η ευρετηρίαση, το καλύτερο είναι να διασφαλίσεις ότι τα ονόματα είναι μοναδικά και δεν λείπουν. Ωστόσο, η R δεν επιβάλλει τη μοναδικότητα.

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

> months[months == 30]
Apr Jun Sep Nov 
 30  30  30  30 

> sum(months)
[1] 365  # no meaningful names possible

Πιο προχωρημένα θέματα

Πολλά αντικείμενα της R, συμπεριλαμβανομένων των vectors, μπορούν να έχουν αυθαίρετα χαρακτηριστικά συνδεδεμένα πάνω τους. Το χαρακτηριστικό names είναι απλώς ένα παράδειγμα, αν και ένα ιδιαίτερα συνηθισμένο και σημαντικό.

Στην πράξη, τα ονόματα είναι μερικές φορές χρήσιμα στα διανύσματα, αλλά σπάνια είναι απαραίτητα. Το names-attribute γίνεται πολύ πιο σημαντικό για πιο σύνθετες δομές, όπως οι lists και τα dataframes, όπως θα δούμε σε επόμενες έννοιες.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Γνώρισμα names