Phân tích URL
Chúng ta vẫn đang khám phá bộ dữ liệu #RStudioConf. Ở bài này, bạn sẽ tập trung phân tích các URL có trong tweet.
Các URL nằm trong một phần tử tên là "url_urls". Những phần tử "url_urls" này hoặc là NULL nếu tweet không có URL, hoặc là một danh sách gồm một hay nhiều URL.
Bạn sẽ bắt đầu bằng cách trích xuất tất cả các phần tử "url_urls" từ bộ dữ liệu, sau đó kết hợp purrr và stringr để đếm có bao nhiêu tweet chứa liên kết đến URL liên quan đến GitHub. Vì GitHub là một website phổ biến với lập trình viên, mức độ xuất hiện cao của website này sẽ cho thấy cộng đồng lập trình viên mạnh trong bộ dữ liệu của chúng ta.
purrr và stringr đã được nạp sẵn cho bạn, và bộ dữ liệu rstudioconf vẫn có trong không gian làm việc của bạn.
Bài tập này là một phần của khóa học
Lập trình hàm nâng cao với purrr
Hướng dẫn bài tập
Trích xuất tất cả các phần tử
"urls_url", rồi truyền kết quả vàoflatten()để loại bỏ một cấp độ phân cấp.Loại bỏ các giá trị
NULLkhỏi kết quả.Tạo một mapper tên
has_github, nhằm phát hiện xem một chuỗi ký tự có chứa"github"hay không.Dùng biến thể
map_*()cho kiểu logic vớihas_github, rồi truyền vàosum()để đếm số liên kết chứa"github".
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Extract the "urls_url" elements, and flatten() the result
urls_clean <- ___(rstudioconf, ___) %>%
___()
# Remove the NULL
compact_urls <- ___(___)
# Create a mapper that detects the patten "github"
has_github <- ___(~ str_detect(.x, "github"))
# Look for the "github" pattern, and sum the result
___( compact_urls, has_github ) %>%
___()