library(stringr)
Chuỗi ký tự có thể xuất hiện trong tất cả các giai đoạn của dự án khoa học dữ liệu. Bạn có thể phải xóa đầu vào chuỗi lộn xộn trước khi phân tích, trích xuất dữ liệu được nhúng trong văn bản hoặc tự động biến các kết quả dạng số thành một câu để đưa vào báo cáo. Có lẽ bản thân các chuỗi là dữ liệu quan tâm và bạn cần phát hiện và khớp các mẫu bên trong chúng Bạn sẽ bắt đầu với một số điều cơ bản: cách nhập chuỗi trong R, cách kiểm soát cách số được chuyển đổi thành chuỗi và cuối cùng là cách kết hợp các chuỗi với nhau để tạo đầu ra kết hợp văn bản và số được định dạng độc đáo. #1. Biến đổi cơ bản của chuỗi Bạn sẽ bắt đầu bằng cách tìm hiểu về một số hàm stringr rất giống với một số hàm R cơ sở, sau đó là cách phát hiện các mẫu cụ thể trong chuỗi, cách tách các chuỗi thành nhiều phần cũng như cách tìm và thay thế các phần của chuỗi.
##1.1. Quản lí độ dài chuỗi • str_c() :kết hộp chuỗi c là viết tắt của concatenate, một hàm hoạt động giống như paste() Nó lấy các vectơ của chuỗi làm đầu vào cùng với các đối số sep và collapse.
str_c("x","y","z")
## [1] "xyz"
-Chỉ định tham số sep để xác định dấu phân cách
str_c("x","y",sep = ", ")
## [1] "x, y"
-Chỉ định collapse để kết hợp các đối số vectơ thành một chuỗi lớn
str_c(head(letters),collapse = ",")
## [1] "a,b,c,d,e,f"
str_c(c('a','a1'),c('b','b1'),collapse='-')
## [1] "ab-a1b1"
-str_c() là một hàm được vector hóa để tái chế các vectơ ký tự có độ dài ngắn
str_c("prefix-",c('a','b','c'),"-suffix")
## [1] "prefix-a-suffix" "prefix-b-suffix" "prefix-c-suffix"
-Kết hợp một vectơ ký tự thành một chuỗi, sử dụng đối số thu gọn
str_c(c("x","y","z"),collapse = ",")
## [1] "x,y,z"
Hoạt động này là tốt bởi vì bạn tìm hiểu nhanh chóng khi bạn có thể thiếu các giá trị, thay vì phát hiện ra các “NA” kỳ lạ sau đó bên trong chuỗi của bạn.
• str_length(): chiều dài chuỗi Các hàm cơ sở R có nhiều hàm để thao tác với các chuỗi, nhưng nên tránh những hàm này vì chúng khó nhớ, có một bộ nhớ tốt cho các hàm này trong gói stringr Lấy một vectơ chuỗi làm đầu vào và trả về số lượng ký tự trong mỗi chuỗi.
str_length(c("a", "R cho khoa hoc du lieu", NA))
## [1] 1 22 NA
• str_trim():Xóa bỏ khoảng trắng trong chuỗi
str_trim(" abc ")
## [1] "abc"
Bạn cũng có thể chỉ định phần cuối của khoảng trống cần xóa
str_trim(" abc ",side = "left")
## [1] "abc "
• str_pad: Thêm khoảng trắng vào một chuỗi (đối với một ký tự)
str_pad("abc",5,side = "both") #5:cho biet do dai sau khi them la 5
## [1] " abc "
Tham số pad có thể chỉ định các ký tự cần điền
str_pad("abc",5,side = "both",pad = "*")
## [1] "*abc*"
Kết hợp với gói Purrr, lập trình chức năng có thể được vector hóa để loại bỏ khoảng trắng và thêm khoảng trắng
x <- c("x","y","z")
library(purrr)
## Warning: package 'purrr' was built under R version 4.3.1
map_chr(x,str_pad,5,side = "left")
## [1] " x" " y" " z"
str_c(x[seq_len(3) - 1],collapse = ",")
## [1] "x,y"
##1.2 Đnh vị kí tự của chuỗi • str_sub(): Chặn chuỗi • str_locate(): Trả về vị trí đầu tiên và cuối cùng của chuỗi #2 Xử lí chuỗi ##2.1 TÌm kiếm và trích suất thông tin chuỗi • str_detect():phát hiện sự hiện diện của một mẫu phù hợp trong một chuỗi. • str_extract(): trích xuất các phần tử phù hợp với một mẫu • str_match(x, pattern)trích xuất các phần của trận đấu được xác định bởi dấu ngoặc đơn • str_subset(): chức năng trả về các chuỗi chứa mẫu khớp ##2.2 TÍnh toán chuỗi • str_count(): Đếm và tính toán chuỗi ##2.3 Chia và tách chuỗi • str_split():phân tích chuỗi thành các biến #3 Thay thế và chuyển đổi chuỗi ##3.1 ĐỊnh dạnh xử lí các chuỗi kí tự • toupper() (viết hoa), tolower() (viết thường). ##3.2 Xử lý và chuẩn hóa dữ liệu văn bản • str_replace() và str_replace_all() #4 BIểu thức thính quy trong R • str_view() và str_view_all(): Hai hàm này dùng để học biểu thức chính quy