我正在 r 中學習網路抓取,撰寫了以下代碼:
url <- "https://en.wikipedia.org/wiki/World_population"
library(rvest)
library(tidyr)
library(dplyr)
ten_most_df <- read_html(url)
ten_most_populous <- ten_most_df %>%
html_nodes("table") %>% `[[`(6) %>% html_table()
在上面提到的代碼中, : [[(6) 代表什么。
我也為此參考了一些檔案,其中寫有以下文字,但沒有明確說明:
“對于向量和矩陣,[[ 形式很少使用,盡管它們與 [ 形式有一些細微的語意差異(例如,它洗掉任何名稱或dimnames 屬性,并且部分匹配用于字符索引)”
請您對此進行解釋,這將非常有幫助。謝謝
uj5u.com熱心網友回復:
這只是從節點集中選擇第 6 個元素的一種方式。
該代碼ten_most_df %>% html_nodes("table")回傳一個包含 26 個元素的 xml_nodeset 物件,對應于頁面上的 26 個表。[[(6)對物件進行子集化并回傳第 6 個節點。
事實上,有一種更快的方法使用 only html_table,它回傳串列中的表:
ten_most_df %>%
html_table() %>%
.[[6]]
我個人覺得這更容易閱讀;該.代表名單,[[n]]是標準的方式來訪問串列元素數量n。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/372563.html
