Kỹ thuật xử lý chuỗi ký tự
Để dễ hiển thị, hầu hết các code ví dụ đều mô phỏng trên một vectơ ngắn dạng ký tự đã được xác định, tuy nhiên chúng có thể dễ dàng áp dụng trên một cột trong bộ dữ liệu. Show Chương này bao gồm:
Kết hợp các chuỗi ký tựĐể kết hợp hoặc nối nhiều chuỗi ký tự thành một chuỗi ký tự, chúng tôi khuyên bạn nên sử dụng hàm 4 từ stringr. Nếu bạn có các giá trị ký tự riêng biệt để kết hợp, đơn giản chỉ cần cung cấp chúng dưới dạng đối số, được phân tách bằng dấu phẩy.
Đối số 5 chèn một giá dạng trị ký tự vào giữa mỗi đối số ký tự bạn cung cấp (ví dụ: chèn dấu phẩy, dấu cách hoặc dòng mới 6)
Đối số 7 có liên quan nếu bạn đang nhập nhiều vectơ làm đối số cho hàm 8. Nó được sử dụng để tách các phần tử của một vectơ kết quả, sao cho vectơ kết quả chỉ là một phần tử chứa ký tự dài.Ví dụ dưới đây cho thấy sự kết hợp của hai vectơ thành một (tên và họ). Một ví dụ tương tự khác có thể là các phạm vi địa chính và số lượng trường hợp. Trong ví dụ này:
Lưu ý: Tùy thuộc vào trường hợp hiển thị mong muốn, khi in một chuỗi kết hợp như vậy với các dòng mới, bạn có thể cần phải đặt toàn bộ cụm từ trong hàm 1 để các dòng mới được in đúng cách:
Chuỗi độngSử dụng hàm 9 để chèn đoạn code động của R vào chuỗi ký tự. Đây là một hàm hữu dụng để tạo tiêu đề biểu đồ động, như được mô tả dưới đây:
Một ví dụ đơn giản về tiêu đề biểu đồ động:
Một định dạng thay thế là sử dụng trình giữ chỗ (placeholder) bên trong dấu ngoặc kép và chỉ định chúng trong các đối số ở phía sau trong hàm 9 như bên dưới. Việc này sẽ làm tăng tính tường minh cho code nếu phần văn bản dài. 0 1Kéo từ bộ dữ liệu Đôi khi, sẽ rất hữu ích khi lấy dữ liệu từ một bộ dữ liệu và dán chúng lại với nhau theo trình tự. Dưới đây là một ví dụ về bộ dữ liệu. Chúng ta sẽ sử dụng cách này để có một phát biểu tóm tắt về các khu vực pháp lý, cũng như số ca mắc mới và tổng số ca. 2Sử dụng hàm 0, được thiết kế để lấy dữ liệu từ các quan sát của bộ dữ liệu: 3 4Kết hợp các chuỗi ký tự trên các dòng Nếu bạn đang cố gắng để “gộp” các giá trị trong một cột của bộ dữ liệu, ví dụ: kết hợp các giá trị từ nhiều hàng thành một hàng bằng cách gắn chúng với nhau cùng ký tự phân cách, hãy xem thêm ở chương mục . Một bộ dữ liệu thành một dòng Bạn có thể tạo ra dãy thông tin chỉ trong một dòng bằng cách sử dụng lệnh 8 (cụ thể tên bộ dữ liệu và tên cột), đồng thời cung cấp các đối số 5 và 7. 5 6Bạn có thể thêm đoạn tiền tố “New Cases:” vào đầu dòng thông tin bằng cách đặt trong hàm 8 (nếu “New Cases:” nằm trong hàm 8 ban đầu thì nó sẽ xuất hiện nhiều lần). 7 8Hợp nhất các cộtTrong bộ dữ liệu, việc tập hợp các giá trị dạng ký tự từ nhiều cột lại với nhau có thể thực hiện bằng cách dùng hàm 0 từ package tidyr. Tính năng này ngược lại với hàm 3.Đầu tiên, cần tên của cột mới. Sau đó, cần tên của các cột mà bạn muốn hợp nhất.
Dưới đây, chúng tôi xác định một bộ dữ liệu ngắn để minh họa: 9 0 1Đây là bộ dữ liệu mẫu: Dưới đây, chúng tôi hợp nhất ba cột triệu chứng: 2 3Tách chuỗiĐể tách một chuỗi ký tự dựa trên một quy luật, hãy sử dụng hàm 2. Hàm này đánh giá (các) chuỗi ký tự và trả về danh sách 2 các vectơ ký tự chứa các giá trị mới được tách.Ví dụ đơn giản dưới đây đánh giá một chuỗi ký tự và chia nó thành ba phần. Mặc định, hàm trả về một đối tượng kiểu danh sách 2 với một phần tử (một vectơ ký tự) cho mỗi chuỗi được cung cấp ban đầu. Nếu 4 nó trả về một ma trận ký tự.Trong ví dụ này, một chuỗi ký tự được cung cấp và hàm trả về một danh sách có một phần tử - một vectơ ký tự chứa ba giá trị. 4 5Nếu kết quả được lưu, thì bạn có thể truy cập giá trị phân chia thứ n bằng cú pháp dấu ngoặc vuông. Để truy cập vào một giá trị cụ thể, bạn có thể sử dụng cú pháp như sau: 5, sẽ truy cập giá trị thứ hai từ chuỗi ký tự được đánh giá thứ nhất (“fever”). Xem thêm ở chương để biết thêm chi tiết về cách truy vấn các phần tử. 6 7Nếu nhiều chuỗi ký tự được sử dụng trong hàm 2, sẽ có nhiều hơn một phần tử trong danh sách trả về. 8 9Thay vào đó, để trả về “ma trận chuỗi ký tự”, có thể sẽ hữu ích nếu tạo cột trong bộ dữ liệu, đặt đối số 4 như trình bày dưới đây: 0 1Bạn cũng có thể điều chỉnh số phần tách ra với đối số 8. Ví dụ dưới đây giới hạn số phần tách ra là 2. Bất kỳ dấu phẩy nào khác vẫn sẽ nằm trong giá trị thứ hai. 2 3Lưu ý - các kết quả tương tự có thể đạt được với hàm 9, trong đó bạn không dùng đối số 0 mà thay vào đó phải chỉ định số cột ( 1). 4Tách cộtNếu bạn đang cố gắng chia tách cột trong bộ dữ liệu, cách tốt nhất là sử dụng hàm 3 từ package dplyr. Nó được sử dụng để chia một cột ký tự thành các cột khác nhau.Giả sử chúng ta có một bộ dữ liệu đơn giản 3 (được xác định và hợp nhất trong ) chứa một cột 4 , một cột dạng ký tự có nhiều triệu chứng và một cột outcome. Mục tiêu của chúng ta là tách cột 5 thành nhiều cột - mỗi cột chứa một triệu chứng.Giả sử dữ liệu được đưa vào hàm 3, trước tiên hãy chọn ra cột sẽ được phân tách. Sau đó, cung cấp thông tin tới đối số 7 dưới dạng vectơ 8 có chứa tên các cột mới, như được trình bày dưới đây.
Dưới đây là một ví dụ về 06 - không có dữ liệu nào bị mất. Hai cột mới được xác định nhưng bất kỳ triệu chứng thứ ba nào sẽ quy về trong cột mới thứ hai: 5 6 7Khi sử dụng lệnh 05 mặc định như bên dưới, một cảnh báo sẽ được đưa ra nhưng triệu chứng thứ ba bị mất: 8 9 6 1CẨN TRỌNG: Nếu bạn không cung cấp đủ giá trị 07 cho các cột mới, dữ liệu của bạn có thể bị cắt bớt .Sắp xếp theo thứ tự bảng chữ cáiMột số chuỗi ký tự có thể được sắp xếp theo thứ tự bảng chữ cái. Hàm 1 trả về thứ tự của các phần tử, trong khi hàm 12 trả về các chuỗi theo thứ tự đó. 2 3 4 5Để sử dụng một bảng chữ cái khác, hãy thêm đối số 13. Xem danh sách đầy đủ các locales bằng cách gõ 14 trong cửa sổ R console.Các hàm base RCác hàm phổ biến của base R là 15 và 16 nối các vectơ sau khi chuyển đổi tất cả các cấu phần thành ký tự. Chúng hoạt động tương tự như 8 nhưng cú pháp được cho là phức tạp hơn - đó là trong ngoặc thì mỗi phần được phân tách bằng một dấu phẩy. Các cấu phần là ký tự dạng văn bản (trong dấu ngoặc kép) hoặc các đối tượng được xác định trước (không có dấu ngoặc kép). Ví dụ: 6 7Đối số 5 và 7 có thể được cụ thể. Hàm 15 chỉ đơn giản dán 16 vớ đối số mặc định 22 (một khoảng trắng). |