Làm sạch dữ liệu trong R

ETL

Ở bài viết này, chúng ta sẽ thao tác trên dữ liệu với dplyr. dplyr là một package mạnh mẽ của R được viết bởi Hadley Wickham và Romain Francois cho phép chúng ta làm việc với dữ liệu dạng bảng [tabular]. Một trong những khía cạnh độc đáo của dplyr đó là với cùng một tập các tools, chúng ta có thể thao tác với nhiều nguồn dữ liệu khác, bao gồm data frames, data tables, databases và multidimensional arrays. Trong bài viết này, chúng ta chỉ tập trung thao tác trên data frames. Tuy nhiên, bạn vẫn có thể áp dụng cho các dạng format khác.

Notebooks: working_with_dplyr.

Đăng bởi Hong Ong

As a data scientist, I'm passionate about investigating Big Data by using Data Analyst and state-of-the-art Machine Learning methods for solving challenging tasks related to media products such as Data Mining, Natural Language Processing, and Social Analysis which provide powerful visualization tools and predictive model for leaders and organizations making right decisions at the right time. Xem tất cả bài viết bởi Hong Ong

Đã đăng Tháng Bảy 10, 2015Tháng Tư 17, 2018

Điều hướng bài viết

Chúng ta sẽ học cách thực hiện thao tác dữ liệu trong ngôn ngữ lập trình R cùng với xử lý dữ liệu. Chúng tôi cũng sẽ overview ba nhà khai thác như Subsetting, thao tác cũng như phân loại và sáp nhập trong R . Ngoài ra, chúng ta sẽ tìm hiểu về cấu trúc dữ liệu trong R, cách tạo tập con trong R và cách sử dụng lệnh R sample [], cách tạo nhóm con dữ liệu R hoặc thùng dữ liệu trong R. Chúng ta cũng sẽ tổng quan về các phương pháp khác nhau để tổng hợp dữ liệu trong R, thực hiện sắp xếp, sắp xếp cũng như truyền dữ liệu.

Các bài viết liên quan:

Các chủ đề thao tác dữ liệu R này sẽ cung cấp cho bạn hướng dẫn đầy đủ về các cách thao tác và xử lý dữ liệu trong R.

  • Thao tác dữ liệu trong R là gì?
    • Tạo tập hợp con dữ liệu trong R
  • Lệnh sample [] trong R
    • Các ứng dụng của dữ liệu tập hợp con
    • Thêm các trường được tính toán vào dữ liệu
    • Tạo nhóm con hoặc thùng dữ liệu
    • Kết hợp và Hợp nhất các tập dữ liệu trong R
  • merge [] Hàm trong R
  • Sắp xếp dữ liệu sử dụng sort [] và order [] trong R
  • Truyền dữ liệu bằng hàm Apply [] trong R
  • Công thức trong R
  • Các biến trong R
  • Bản tóm tắt

Thao tác dữ liệu trong R là gì?

Với sự trợ giúp của cấu trúc dữ liệu, chúng ta có thể biểu diễn dữ liệu dưới dạng phân tích dữ liệu. Thao tác dữ liệu trong R có thể được thực hiện để phân tích và hình dung thêm.

Trước khi chúng ta bắt đầu chơi với dữ liệu trong R, bạn phải học  cách nhập dữ liệu trong R và các cách xuất dữ liệu từ R sang các nguồn bên ngoài khác nhau như SAS, SPSS, tệp văn bản hoặc tệp CSV.

Một trong những khía cạnh quan trọng nhất của tính toán với Thao tác dữ liệu trong R là nó cho phép phân tích và trực quan hóa sau đó. Hãy để chúng tôi xem một vài cấu trúc dữ liệu cơ bản trong R:

  1. Các vectơ trong R

Đây là các vùng chứa có thứ tự của các phần tử nguyên thủy và được sử dụng cho dữ liệu 1 chiều.

Các loại – số nguyên, số, lôgic, ký tự, phức.

  1. Các ma trận trong R

Đây là các tập hợp phần tử hình chữ nhật và rất hữu ích khi tất cả dữ liệu thuộc một lớp duy nhất là số hoặc ký tự.

  1. Danh sách trong R

Đây là những vùng chứa có thứ tự cho các phần tử tùy ý và được sử dụng cho dữ liệu thứ nguyên cao hơn, chẳng hạn như thông tin dữ liệu khách hàng của một tổ chức. Khi dữ liệu không thể được biểu diễn dưới dạng một mảng hoặc một khung dữ liệu, danh sách là lựa chọn tốt nhất. Điều này là do danh sách có thể chứa tất cả các loại đối tượng khác, bao gồm danh sách hoặc khung dữ liệu khác, và theo nghĩa đó, chúng rất linh hoạt.

  1. Frames dữ liệu

Đây là những vùng chứa hai chiều cho các bản ghi và biến và được sử dụng để biểu diễn dữ liệu từ bảng tính, v.v. Nó tương tự như một bảng đơn trong cơ sở dữ liệu.

Xem thêm Function trong R, các hàm trong R

Tạo tập hợp con dữ liệu trong R

Như chúng ta đã biết, kích thước dữ liệu đang tăng lên theo cấp số nhân và việc phân tích dữ liệu hoàn chỉnh là rất tốn thời gian. Vì vậy, dữ liệu được chia thành các mẫu có kích thước nhỏ và phân tích các mẫu được thực hiện. Quá trình tạo mẫu được gọi là tập hợp con.

Các phương pháp khác nhau của tập con trong R là:

  1. $

Toán tử ký hiệu đô la chọn một phần tử dữ liệu. Kết quả của toán tử này luôn là một vectơ khi chúng ta sử dụng nó với khung dữ liệu.

  1. [[

Tương tự như $ trong R, toán tử dấu ngoặc vuông kép trong R cũng trả về một phần tử duy nhất, nhưng nó mang lại sự linh hoạt khi tham chiếu đến các phần tử theo vị trí thay vì theo tên. Nó có thể được sử dụng cho các khung và danh sách dữ liệu.

  1. [

Toán tử dấu ngoặc vuông đơn trong R trả về nhiều phần tử dữ liệu. Chỉ mục trong dấu ngoặc vuông có thể là một vectơ số, một vectơ lôgic hoặc một vectơ ký tự.

Ví dụ: Để truy xuất 5 hàng và tất cả các cột của iris tập dữ liệu đã được tích hợp sẵn, lệnh dưới đây được sử dụng:

Đầu ra:

Lệnh sample [] trong R

Như chúng ta đã thấy, các mẫu được tạo ra từ dữ liệu để phân tích. Để tạo mẫu, lệnh sample [] được sử dụng và số lượng mẫu sẽ được vẽ được đề cập.

Ví dụ, để tạo một mẫu gồm 10 mô phỏng của một con súc sắc, lệnh dưới đây được sử dụng:

sample[1:6, 10, replace=TRUE]

Đầu ra:

sample [] nên luôn tạo ra các giá trị ngẫu nhiên nhưng đôi khi nó không xảy ra với mã thử nghiệm. Nếu được thay thế bằng một giá trị gốc, lệnh sample [] luôn tạo ra các mẫu ngẫu nhiên.

Xem thêm Parameter trong hàm của R

Giá trị gốc là điểm bắt đầu cho bất kỳ công thức tạo số ngẫu nhiên nào. Giá trị hạt giống xác định cả hai, quá trình khởi tạo trình tạo số ngẫu nhiên cùng với đường dẫn mà công thức sẽ đi theo.

Hãy để chúng tôi xem giá trị hạt giống được sử dụng như thế nào:

 set.seed[100]
 sample[1:5, 10, replace = TRUE] #websitehcm

Các ứng dụng của dữ liệu tập hợp con

Bây giờ chúng ta hãy xem một vài ứng dụng của dữ liệu tập hợp con trong R:

1. Dữ liệu trùng lặp có thể được loại bỏ trong quá trình phân tích bằng cách sử dụng hàm trùng lặp [] trong R

Lệnh dưới đây cho bạn biết cách tìm dữ liệu trùng lặp trong các tập hợp con: hàm replicated [] tìm các giá trị trùng lặp và trả về một vectơ logic cho bạn biết liệu giá trị được chỉ định có phải là bản sao của giá trị trước đó hay không.

duplicated[c[1,2,1,3,1,4]]

Đầu ra:

Đối với tất cả các giá trị trùng lặp trong mẫu, giá trị true được trả về.

2. Dữ liệu bị thiếu có thể được xác định bằng cách sử dụng hàm complete.case [] trong R

Trong quá trình phân tích, bất kỳ hàng nào có dữ liệu bị thiếu có thể được xác định và loại bỏ như bên dưới.

Lệnh complete.case [] trong R được sử dụng để tìm các hàng đã hoàn thành. Nó cung cấp vectơ logic với giá trị TRUE cho các hàng đã hoàn thành và FALSE cho các hàng có một số giá trị NA. Trước tiên, chúng tôi sẽ tạo dữ liệu của mình và lưu trữ trong tệp CSV như sau:

data  file  na.omit[file]

Đầu ra:

Thêm các trường được tính toán vào dữ liệu

Sau khi tạo tập hợp con dữ liệu thích hợp, bước tiếp theo trong phân tích của bạn là thực hiện một số phép tính. R giúp dễ dàng thực hiện các phép tính trên các cột của khung dữ liệu vì bản thân mỗi cột là một vectơ.

Hãy để chúng tôi xem thao tác dữ liệu với R với sự trợ giúp của một ví dụ:

Chúng ta sẽ xem cách tính tỷ lệ giữa chiều dài và chiều rộng của các đài hoa.

Lệnh tương tự là:

> data[iris]
> x  head[x]

Đầu ra:

với hàm [] trong R

Để giảm số lượng nhập và làm cho mã dễ đọc hơn, chúng tôi sử dụng với lệnh [] như sau:

> y  head[y]

Điều này cho kết quả tương tự như trên nhưng giảm tác vụ nhập.

hàm trong [] trong R

Bây giờ chúng ta hãy xem việc sử dụng hàm within [] cho cùng một tác vụ:

iris cut[frost, 3, include.lowest=TRUE, labels=c["Low", "Med", "High"]]

Đầu ra:

Điều này cho kết quả là một hệ số với ba cấp độ. Hàm cut [] tạo nhãn toán học cho các thùng. Tên nhãn có thể được cung cấp bởi người dùng.

Kết quả hiển thị ba nhãn trong đầu ra.

hàm table [] trong R

Để đếm số lượng quan sát trong mỗi mức nhân tố, chúng ta có thể sử dụng lệnh R table [] như sau:

> inp  table[inp]

Đầu ra:

Kết quả hiển thị đầu ra là một bảng chứa số phần tử trong mỗi nhân tố. Bây giờ hãy xem việc kết hợp và hợp nhất các tập dữ liệu để thao tác dữ liệu trong R.

Kết hợp và Hợp nhất các tập dữ liệu trong R

Nếu bạn muốn kết hợp dữ liệu từ các nguồn khác nhau trong R, bạn có thể kết hợp các bộ dữ liệu khác nhau theo ba cách:

Bằng cách thêm các cột bằng cách sử dụng cbind [] trong R

Nếu hai tập dữ liệu có tập hợp các hàng bằng nhau và thứ tự của các hàng giống hệt nhau, thì việc thêm cột sẽ có ý nghĩa. Điều này có thể được thực hiện bằng cách sử dụng hàm data.frame hoặc cbind [].

Bằng cách Thêm Hàng bằng cách sử dụng hàm rbind [] trong R

Nếu cả hai tập dữ liệu có cùng cột và bạn muốn thêm hàng vào dưới cùng, thì hãy sử dụng rbind [].

Bằng cách kết hợp dữ liệu với các hình dạng khác nhau bằng cách sử dụng hàm merge [] trong R

Hàm merge [] kết hợp dữ liệu dựa trên các cột cũng như các hàng chung. Trong ngôn ngữ cơ sở dữ liệu, điều này thường được gọi là dữ liệu nối.

Để hợp nhất dữ liệu hiện có, sử dụng hàm merge [] rất hữu ích. Bạn chỉ có thể sử dụng merge [] để kết hợp dữ liệu khi các điều kiện so khớp nhất định được thỏa mãn.

merge [] Hàm trong R

Hãy xem việc sử dụng hàm merge [].

Hàm merge [] được sử dụng để kết hợp các khung dữ liệu. Hãy để chúng tôi xem điều này với một ví dụ:

every.states 

Chủ Đề