Cách phân tích dữ liệu văn bản trong R: Khái niệm cơ bản về thao tác chuỗi

Cach Phan Tich Du Lieu Van Ban Trong R Khai Niem Co Ban Ve Thao Tac Chuoi



Chuỗi là loại dữ liệu phổ biến thứ hai trong lập trình R và thao tác chuỗi là một nhiệm vụ quan trọng trong R. Thao tác thao tác chuỗi trong R bao gồm nhiều hàm để sử dụng và thay đổi dữ liệu văn bản, bao gồm thay đổi và phân tích cú pháp chuỗi. Trong bài viết này, chúng ta sẽ đi sâu vào một số hàm giúp chúng ta thao tác với chuỗi. Các hàm này được tích hợp sẵn trong R và được sử dụng cho nhiều mục đích khác nhau để thực hiện các tác vụ chuỗi.

Ví dụ 1: Lấy vị trí của mẫu từ chuỗi bằng hàm Grep() trong R

Để trích xuất vị trí của mẫu đã chỉ định từ chuỗi, hàm grep() của R được sử dụng.

grep('i+', c('sửa', 'tách', 'ngô n', 'sơn'), Perl=TRUE, value=FALSE)

Ở đây, chúng tôi sử dụng hàm grep() trong đó mẫu “+i” được chỉ định làm đối số được khớp trong vectơ của chuỗi. Chúng tôi đặt các vectơ ký tự chứa bốn chuỗi. Sau đó, chúng ta đặt đối số “perl” với giá trị TRUE cho biết rằng R sử dụng thư viện biểu thức chính quy tương thích với Perl và tham số “value” được chỉ định bằng giá trị “FALSE” được sử dụng để truy xuất chỉ mục của các phần tử trong vectơ phù hợp với mẫu.







Vị trí mẫu “+i” từ mỗi chuỗi ký tự vectơ được hiển thị ở đầu ra sau:





Ví dụ 2: Khớp mẫu bằng hàm Gregexpr() trong R

Tiếp theo, chúng ta truy xuất vị trí chỉ mục cùng với độ dài của chuỗi cụ thể trong R bằng hàm gregexpr().





char_vec <- c('LẬP TRÌNH NGÔN NGỮ','RSCRIPT')
gregexpr('GRAMM', char_vec, useBytes = TRUE)

Ở đây, chúng ta đặt biến “char_vect” trong đó các chuỗi được cung cấp các ký tự khác nhau. Sau đó, chúng ta xác định hàm gregexpr() lấy mẫu chuỗi “GRAMM” để khớp với các chuỗi được lưu trữ trong “char_vec”. Sau đó, chúng tôi đặt tham số useBytes với giá trị “TRUE”. Tham số này chỉ ra rằng việc so khớp phải đạt được theo từng byte thay vì theo từng ký tự.

Kết quả đầu ra sau đây được lấy từ hàm gregexpr() biểu thị các chỉ số và độ dài của cả hai chuỗi vectơ:



Ví dụ 3: Đếm tổng số ký tự trong chuỗi bằng hàm Nchar() trong R

Phương thức nchar() mà chúng ta triển khai sau đây cũng cho phép chúng ta xác định có bao nhiêu ký tự trong chuỗi:

Res <- nchar('Đếm từng ký tự')
in(Res)

Ở đây, chúng ta gọi phương thức nchar() được đặt trong biến “Res”. Phương thức nchar() được cung cấp một chuỗi ký tự dài được tính bằng phương thức nchar() và cung cấp số lượng ký tự đếm trong chuỗi đã chỉ định. Sau đó, chúng ta chuyển biến “Res” cho phương thức print() để xem kết quả của phương thức nchar().

Kết quả được nhận ở đầu ra sau cho thấy chuỗi được chỉ định chứa 20 ký tự:

Ví dụ 4: Trích xuất chuỗi con từ chuỗi bằng hàm Substring() trong R

Chúng ta sử dụng phương thức substring() với các đối số “start” và “stop” để trích xuất chuỗi con cụ thể từ chuỗi.

str <- chuỗi con('BUỔI SÁNG', 2, 4)
in(str)

Ở đây, chúng ta có một biến “str” trong đó phương thức substring() được gọi. Phương thức substring() lấy chuỗi “MORNING” làm đối số đầu tiên và giá trị “2” làm đối số thứ hai cho biết rằng ký tự thứ hai trong chuỗi sẽ được trích xuất và giá trị của đối số “4” cho biết rằng ký tự thứ tư sẽ được trích xuất. Phương thức substring() trích xuất các ký tự từ chuỗi ở giữa vị trí đã chỉ định.

Đầu ra sau đây hiển thị chuỗi con được trích xuất nằm giữa vị trí thứ hai và thứ tư trong chuỗi:

Ví dụ 5: Nối chuỗi bằng hàm Paste() trong R

Hàm dán() trong R cũng được sử dụng để thao tác chuỗi nối các chuỗi đã chỉ định bằng cách tách các dấu phân cách.

msg1 <- 'Nội dung'
msg2 <- 'Đang viết'

dán(tin nhắn1, tin nhắn2)

Ở đây, chúng ta chỉ định các chuỗi tương ứng cho các biến “msg1” và “msg2”. Sau đó, chúng ta sử dụng phương thức Paste() của R để nối chuỗi được cung cấp thành một chuỗi duy nhất. Phương thức dán() lấy biến chuỗi làm đối số và trả về một chuỗi có khoảng trắng mặc định ở giữa các chuỗi.

Khi thực thi phương thức dán(), đầu ra biểu thị một chuỗi đơn có khoảng trắng trong đó.

Ví dụ 6: Sửa đổi chuỗi bằng hàm Substring() trong R

Hơn nữa, chúng ta cũng có thể cập nhật chuỗi bằng cách thêm chuỗi con hoặc bất kỳ ký tự nào vào chuỗi bằng hàm substring() bằng tập lệnh sau:

str1 <- 'Anh hùng'
chuỗi con(str1, 5, 6) <- 'ic'

cat('    Chuỗi được sửa đổi:', str1)

Chúng tôi đặt chuỗi “Heroes” trong biến “str1”. Sau đó, chúng tôi triển khai phương thức chuỗi con() trong đó “str1” được chỉ định cùng với các giá trị chỉ mục “bắt đầu” và “dừng” của chuỗi con. Phương thức substring() được gán với chuỗi con “iz” được đặt ở vị trí được chỉ định trong hàm cho chuỗi đã cho. Sau đó, chúng ta sử dụng hàm cat() của R để biểu thị giá trị chuỗi được cập nhật.

Đầu ra hiển thị chuỗi được cập nhật bằng chuỗi mới bằng phương thức chuỗi con ():

Ví dụ 7: Định dạng chuỗi bằng hàm Format() trong R

Tuy nhiên, thao tác thao tác chuỗi trong R cũng bao gồm việc định dạng chuỗi tương ứng. Để làm điều này, chúng tôi sử dụng hàm format() trong đó chuỗi có thể được căn chỉnh và đặt độ rộng của chuỗi cụ thể.

vị trí1 <- format('Chương trình', chiều rộng = 10, căn đều = 'l')
vị trí2 <- format('Chương trình', chiều rộng = 10, căn đều = 'r')
vị trí3 <- format('Chương trình', chiều rộng = 10, căn đều = 'c')

in(vị trí1)
in(vị trí2)
in(vị trí3)

Ở đây, chúng ta đặt biến “placement1” được cung cấp bằng phương thức format(). Chúng ta chuyển chuỗi “chương trình” được định dạng sang phương thức format(). Độ rộng được đặt và căn chỉnh của chuỗi được đặt ở bên trái bằng cách sử dụng đối số “justify”. Tương tự, chúng ta tạo thêm hai biến, “placement2” và “placement2” và áp dụng phương thức format() để định dạng chuỗi được cung cấp cho phù hợp.

Đầu ra hiển thị ba kiểu định dạng cho cùng một chuỗi trong hình ảnh sau bao gồm căn chỉnh trái, phải và giữa:

Ví dụ 8: Chuyển đổi chuỗi thành chữ thường và chữ hoa trong R

Ngoài ra, chúng ta cũng có thể chuyển đổi chuỗi thành chữ thường và chữ hoa bằng cách sử dụng các hàm tower() và toupper() như sau:

s1 <- 'GoOd FoodCuộc sống TỐT'
result1 <- tower(s1)

in(kết quả1)

s2 <- 'Ngôn ngữ lập trình r trong '
result2 <- toupper(s2)

in (kết quả2)

Ở đây, chúng tôi cung cấp chuỗi chứa các ký tự chữ hoa và chữ thường. Sau đó, chuỗi được giữ trong biến “s1”. Sau đó, chúng ta gọi phương thức tower() và truyền chuỗi “s1” vào bên trong nó để chuyển đổi tất cả các ký tự bên trong chuỗi thành chữ thường. Sau đó, chúng ta in kết quả của phương thức tower() được lưu trữ trong biến “result1”. Tiếp theo, chúng ta đặt một chuỗi khác trong biến “s2” chứa tất cả các ký tự viết thường. Chúng ta áp dụng phương thức toupper() cho chuỗi “s2” này để chuyển chuỗi hiện có thành chữ hoa.

Đầu ra hiển thị cả hai chuỗi trong trường hợp được chỉ định trong hình ảnh sau:

Phần kết luận

Chúng tôi đã học được nhiều cách khác nhau để quản lý và phân tích chuỗi được gọi là thao tác chuỗi. Chúng tôi trích xuất vị trí của ký tự từ chuỗi, nối các chuỗi khác nhau và chuyển đổi chuỗi thành trường hợp được chỉ định. Ngoài ra, chúng tôi đã định dạng chuỗi, sửa đổi chuỗi và nhiều thao tác khác được thực hiện ở đây để thao tác với chuỗi.