Η συνάρτηση substring() του R είναι χρήσιμη για την προετοιμασία δεδομένων για ανάλυση. Μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη μετατροπή δεδομένων κειμένου σε καλύτερα δομημένες μορφές.

Σε τι χρησιμοποιείται η συνάρτηση substring() του R;

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

substring() είναι ευέλικτο σε καταστάσεις που απαιτούν λεπτομερή έλεγχο της θέσης και του μήκους επιλεγμένων υποστρωμάτων. Η μέθοδος χρησιμοποιείται συχνά στην ανάλυση δεδομένων και στην προετοιμασία δεδομένων κειμένου για περαιτέρω επεξεργασία.

Ποια είναι η σύνταξη της συνάρτησης substring() στο R;

substring() επιστρέφει το τμήμα της συμβολοσειράς που έχει εξαχθεί και δέχεται τις ακόλουθες παραμέτρους:

substring(x, first, last)
R
  • x: Η συμβολοσειρά από την οποία θα εξαχθεί η υποσυμβολοσειρά
  • first: Ο δείκτης έναρξης (ο πρώτος χαρακτήρας) της υποσειράς που θέλετε να εξαγάγετε
  • last: Ο δείκτης τερματισμού (ο τελευταίος χαρακτήρας) του υποστρώματος που θέλετε να εξαγάγετε

Ας δούμε ένα παράδειγμα.

original_string <- "data analysis"
result <- substring(original_string, 1, 4)
print(result)
# Output: data
R

Σε αυτό το παράδειγμα, επιλέγουμε ένα υποστρώμα από τον δείκτη 1 έως τον δείκτη 4 της συμβολοσειράς "data analysis" και το αποθηκεύουμε στη μεταβλητή result. Το αποτέλεσμα είναι "data".

Ποιες είναι μερικές πρακτικές χρήσεις του R’s substring();

Κατά την επεξεργασία συνόλων δεδομένων, συχνά πρέπει να επιλέξετε, να χειριστείτε ή να εξαγάγετε ορισμένα τμήματα των συμβολοσειρών. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση substring() στο R για να το κάνετε αυτό με διάφορους τρόπους.

Εξαγωγή χαρακτήρων με substring()

Μπορείτε να αποθηκεύσετε δείκτες σε μεταβλητές και στη συνέχεια να τους εισαγάγετε ως ορίσματα στο substring().

# Original string
original_string <- "Data Science"
# Indices for extraction
start_index <- 6
end_index <- 12
# Using substring() for extraction
extracted_substring <- substring(original_string, start_index, end_index)
print(extracted_substring)
# Output: Science
R

Αυτό το παράδειγμα δείχνει τι κάνει substring(). Επιλέχθηκε ένα υποστρώμα από τη θέση 6 έως 12 από την αρχική συμβολοσειρά "Data Science". Ορίσαμε τις μεταβλητές start_index ως σημείο έναρξης και end_index ως σημείο λήξης. Η έξοδος δείχνει το εξαγόμενο υποστρώμα, στην περίπτωση αυτή "Science". Η τιμή του δείκτη λήξης 12 είναι συμπεριλαμβανόμενη, που σημαίνει ότι ο χαρακτήρας από τη θέση 12 περιλαμβάνεται στο υποστρώμα.

Χειρισμός συμβολοσειρών με τη συνάρτηση substring() στο R

Πρώτα θα δημιουργήσουμε ένα πλαίσιο δεδομένων df που περιέχει ταυτοποιήσεις, ηλικίες και επαγγέλματα. Στη συνέχεια, θα χρησιμοποιήσουμε τη συνάρτηση substring() για να εισαγάγουμε ένα κενό στη δεύτερη θέση κάθε συμβολοσειράς στη στήλη ID.

# Creating a sample data frame
df <- data.frame(
    ID = c("01235", "02345", "04531"),
    Age = c(25, 30, 22),
    Occupation = c("Engineer", "Doctor", "Teacher")
)
# Inserting a space in the second position in the "ID" column
df$ID <- paste(substring(df$ID, 1, 1), " ", substring(df$ID, 2))
# Displaying the modified data frame
print("Modified Data Frame:")
print(df)
R

Σε αυτό το παράδειγμα, substring() εξάγει το πρώτο ψηφίο κάθε αριθμού (substring(df$ID, 1, 1) και την υπόλοιπη ακολουθία αριθμών ξεκινώντας από τη δεύτερη θέση (substring(df$ID, 2)). Στη συνέχεια, εισάγεται κενό μεταξύ αυτών των δύο υποαλφαριθμητικών συμβολοσειρών χρησιμοποιώντας την εντολή R paste. Το αποτέλεσμα εμφανίζεται στη στήλη ID του πλαισίου δεδομένων.

Το αποτέλεσμα έχει την ακόλουθη μορφή:

Modified Data Frame:
    ID           Age  Occupation
1  0 1235  25     Engineer
2  0 2345  30     Doctor
3  0 4531  22     Teacher
R
Go to Main Menu