Hướng dẫn tidyr cheatsheet - cheatsheet gọn gàng
Tương tự như 6, 9 và 0 cũng là một phần của Tidyverse. Các gói này đã được tải trong bộ nhớ R, khi chúng tôi gọi 9 trước đó. 6, 9 and 0 are also part of the tidyverse. These packages were loaded in R’s memory when we called 9 earlier.
Gói R là gì?Gói 9 cung cấp các công cụ dễ dàng cho các tác vụ gây tranh cãi dữ liệu phổ biến nhất. Nó được xây dựng để làm việc trực tiếp với các khung dữ liệu, với nhiều tác vụ phổ biến được tối ưu hóa bằng cách được viết bằng ngôn ngữ được biên dịch (C ++) (không phải tất cả các gói R đều được viết bằng R!). 9 provides easy tools for
the most common data wrangling tasks. It is built to work directly with dataframes, with many common tasks optimized by being written in a compiled language (C++) (not all R packages are written in R!).Gói 0 giải quyết vấn đề chung là muốn định hình lại dữ liệu của bạn để vẽ và sử dụng bởi các chức năng R khác nhau. Đôi khi chúng tôi muốn các bộ dữ liệu nơi chúng tôi có một hàng cho mỗi lần đo. Đôi khi chúng tôi muốn một khung dữ liệu trong đó mỗi loại đo có cột riêng và các hàng thay vào đó là các nhóm tổng hợp hơn. Di chuyển qua lại giữa các định dạng này là không cần thiết và 0 cung cấp cho bạn các công cụ cho việc gây tranh cãi dữ liệu này và tinh vi hơn. 0 addresses the common problem of wanting to reshape your data for plotting and use by different R functions. Sometimes we want data sets where we have one row per measurement. Sometimes we want a dataframe where each measurement type has its own column,
and rows are instead more aggregated groups. Moving back and forth between these formats is nontrivial, and 0 gives you tools for this and more sophisticated data wrangling.Nhưng cũng có các gói có sẵn cho một loạt các tác vụ bao gồm các lô xây dựng (____10102, mà chúng tôi sẽ thấy sau), tải xuống dữ liệu từ cơ sở dữ liệu NCBI hoặc thực hiện phân tích thống kê trên bộ dữ liệu của bạn. Nhiều gói như thế này được lưu trữ và có thể tải xuống từ Mạng Rarchive toàn diện (CRAN) bằng cách sử dụng 07. Hàm này làm cho gói có thể truy cập bằng cách cài đặt R của bạn với lệnh 08, như bạn đã làm với 09 trước đó. 02, which we’ll see later), downloading data from the NCBI database, or performing statistical analysis on your data set. Many packages such as these are housed on, and downloadable
from, the Comprehensive R Archive Network (CRAN) using 07. This function makes the package accessible by your R installation with the command 08, as you did with 09 earlier.Để dễ dàng truy cập tài liệu cho một gói trong r hoặc rstudio, hãy sử dụng 10.Để tìm hiểu thêm về 9 và 0 sau hội thảo, bạn có thể muốn xem chuyển đổi dữ liệu tiện dụng này với 9 CheatSheet và cái này về 0. 9 and 0 after the workshop, you may want to check out this
handy data transformation with 9 cheatsheet and this one about 0.
Gói R là gì?# A tibble: 10 × 14
key_ID village interview_date no_membrs years_liv respo…¹ rooms memb_…²
Gói 9 cung cấp các công cụ dễ dàng cho các tác vụ gây tranh cãi dữ liệu phổ biến nhất. Nó được xây dựng để làm việc trực tiếp với các khung dữ liệu, với nhiều tác vụ phổ biến được tối ưu hóa bằng cách được viết bằng ngôn ngữ được biên dịch (C ++) (không phải tất cả các gói R đều được viết bằng R!).
Gói 0 giải quyết vấn đề chung là muốn định hình lại dữ liệu của bạn để vẽ và sử dụng bởi các chức năng R khác nhau. Đôi khi chúng tôi muốn các bộ dữ liệu nơi chúng tôi có một hàng cho mỗi lần đo. Đôi khi chúng tôi muốn một khung dữ liệu trong đó mỗi loại đo có cột riêng và các hàng thay vào đó là các nhóm tổng hợp hơn. Di chuyển qua lại giữa các định dạng này là không cần thiết và 0 cung cấp cho bạn các công cụ cho việc gây tranh cãi dữ liệu này và tinh vi hơn. 9 functions:
Chúng tôi sẽ học một số chức năng # A tibble: 10 × 14
key_ID village interview_date no_membrs years_liv respo…¹ rooms memb_…²
23: Cột tập con
Để chọn các hàng dựa trên các tiêu chí cụ thể, chúng ta có thể sử dụng hàm 24. Đối số sau khi DataFrame là điều kiện chúng tôi muốn khung dữ liệu cuối cùng của chúng tôi tuân thủ (ví dụ: tên làng là chirodzo):
Chúng tôi cũng có thể chỉ định nhiều điều kiện trong hàm 24. Chúng ta có thể kết hợp các điều kiện bằng cách sử dụng các câu lệnh và hoặc hoặc hoặc các câu lệnh. Trong một tuyên bố của người Viking và một người quan sát (hàng) phải đáp ứng mọi tiêu chí để được đưa vào khung dữ liệu kết quả. Để hình thành các câu lệnh và các câu lệnh trong DPPLYR, chúng ta có thể vượt qua các điều kiện mong muốn của mình dưới dạng các đối số trong hàm 24, được phân tách bằng dấu phẩy:every criteria to be included in the resulting dataframe. To form “and” statements within dplyr, we can pass our desired conditions as arguments in the 24 function, separated by commas:
Chúng tôi cũng có thể hình thành các câu lệnh của người Viking và trực tiếp với toán tử 38 thay vì dấu phẩy:
Trong một tuyên bố của người khác, các quan sát phải đáp ứng ít nhất một trong các điều kiện được chỉ định. Để hình thành các câu lệnh hoặc các câu lệnh, chúng tôi sử dụng toán tử logic cho các loại hoặc, đó là thanh dọc (|):
ỐngĐiều gì sẽ xảy ra nếu bạn muốn chọn và lọc cùng một lúc? Có ba cách để làm điều này: sử dụng các bước trung gian, chức năng lồng nhau hoặc đường ống. Với các bước trung gian, bạn tạo một khung dữ liệu tạm thời và sử dụng nó làm đầu vào cho chức năng tiếp theo, như thế này: 0Điều này có thể đọc được, nhưng có thể làm lộn xộn không gian làm việc của bạn với rất nhiều đối tượng mà bạn phải đặt tên riêng lẻ. Với nhiều bước, điều đó có thể khó theo dõi. Bạn cũng có thể làm tổ các chức năng (nghĩa là một chức năng bên trong một chức năng khác), như thế này: 1Điều này rất tiện dụng, nhưng có thể khó đọc nếu quá nhiều chức năng được lồng, vì R đánh giá biểu thức từ trong ra ngoài (trong trường hợp này, lọc, sau đó chọn). Tùy chọn cuối cùng, đường ống, là một bổ sung gần đây cho R. Pipes cho phép bạn lấy đầu ra của một hàm và gửi trực tiếp đến tiếp theo, điều này rất hữu ích khi bạn cần làm nhiều việc cho cùng một bộ dữ liệu. Các đường ống trong r trông giống như 6 và được cung cấp thông qua gói 40, được cài đặt tự động với 9. Nếu bạn sử dụng rstudio, bạn có thể nhập ống bằng: 40 package, installed automatically with 9. If you use RStudio, you can type the pipe with:
2
3Trong mã trên, chúng tôi sử dụng đường ống để gửi bộ dữ liệu 31 trước thông qua 24 để giữ các hàng trong đó 44 là chirodzo, sau đó thông qua 23 để chỉ giữ các cột từ 44 đến 47. Vì 6 lấy đối tượng bên trái và chuyển nó làm đối số đầu tiên cho hàm bên phải của nó, chúng tôi không cần phải bao gồm một cách rõ ràng khung dữ liệu như một đối số cho các chức năng 24 và 23 nữa.Một số người có thể thấy hữu ích khi đọc đường ống giống như từ ngữ sau đó là. Chẳng hạn, trong ví dụ trên, chúng tôi lấy DataFrame 31, sau đó chúng tôi 4 cho các hàng có 53, sau đó chúng tôi 2 cột 55. Các chức năng 9 một mình có phần đơn giản, nhưng bằng cách kết hợp chúng thành các quy trình công việc tuyến tính với đường ống, chúng ta có thể thực hiện các hoạt động gây tranh cãi dữ liệu phức tạp hơn. 9 functions by themselves are somewhat simple, but by combining them into linear workflows with the pipe, we can accomplish more complex data wrangling operations.Nếu chúng ta muốn tạo một đối tượng mới với phiên bản dữ liệu nhỏ hơn này, chúng ta có thể gán cho nó một tên mới: 4
3Lưu ý rằng DataFrame cuối cùng ( 57) là phần ngoài cùng bên trái của biểu thức này.
Biến đổiThông thường, bạn sẽ muốn tạo các cột mới dựa trên các giá trị trong các cột hiện có, ví dụ như thực hiện chuyển đổi đơn vị hoặc tìm tỷ lệ của các giá trị trong hai cột. Đối với điều này, chúng tôi sẽ sử dụng 25.Chúng tôi có thể quan tâm đến tỷ lệ số lượng thành viên trong gia đình với các phòng được sử dụng để ngủ (tức là số người AVG mỗi phòng): 8 9Chúng tôi có thể quan tâm đến việc điều tra xem việc trở thành thành viên của một hiệp hội thủy lợi có ảnh hưởng gì đến tỷ lệ các thành viên trong gia đình với phòng hay không. Để xem xét mối quan hệ này, trước tiên chúng tôi sẽ xóa dữ liệu khỏi bộ dữ liệu của chúng tôi, nơi người trả lời đã không trả lời câu hỏi liệu họ có phải là thành viên của một hiệp hội thủy lợi hay không. Những trường hợp này được ghi lại là Null Null trong bộ dữ liệu. Để loại bỏ những trường hợp này, chúng ta có thể chèn một 24 trong chuỗi: 0 1Biểu tượng 65 phủ nhận kết quả của hàm 66. Do đó, nếu 66 trả về giá trị 68 (vì thiếu 59), biểu tượng 65 phủ nhận điều này và nói rằng chúng tôi chỉ muốn các giá trị của 71, trong đó không bị thiếu.is not missing.
Phân tích dữ liệu-bombine phân tách và hàm tóm tắt ()Nhiều nhiệm vụ phân tích dữ liệu có thể được tiếp cận bằng cách sử dụng mô hình-bombine phân chia: chia dữ liệu thành các nhóm, áp dụng một số phân tích cho từng nhóm và sau đó kết hợp kết quả. 9 làm cho điều này rất dễ dàng thông qua việc sử dụng hàm 26. 9 makes this very easy through the use of the 26 function.Hàm # to select columns throughout the dataframe
select(interviews, village, no_membrs, months_lack_food)
# to do the same thing with subsetting
interviews[c("village","no_membrs","months_lack_food")]
# to select a series of connected columns
select(interviews, village:respondent_wall_type)
|