Как проверить, пуст ли набор узлов XML в R? - PullRequest
0 голосов
/ 12 января 2019

Я пишу функцию, которая перебирает узлы XML в R; для этого я искал глагол, который подтверждает или отрицает наличие пустого набора XML-узлов (что-то вроде isEmptyNodeSet).

Другими словами, функция, которая возвращает TRUE, если происходит случай, подобный следующему:

library(magrittr)
library(rvest)
#> Loading required package: xml2
library(xml2)
"https://www.admin.ch/ch/d/gg/pc/ind2010.html" %>%
  read_html() %>%
  html_nodes("a.adminCHlink, div#spalteContentPlus h2 ~ ul") %>%
  .[[1]] %>%
  html_nodes("strong")
#> {xml_nodeset (0)}

Создано в 2019-01-12 пакетом представительство (v0.2.1)

Заранее большое спасибо (и извините, если ответ очевиден, я новичок в XML)!

1 Ответ

0 голосов
/ 23 января 2019

Либо используйте is_empty <- function(x) if(length(x) == 0) TRUE else FALSE (спасибо @Chase).

Или используйте rlang::is_empty() или purrr::is_empty() соответственно, что точно так же.

Код становится:

library(magrittr)
library(rvest)
#> Loading required package: xml2
library(xml2)
"https://www.admin.ch/ch/d/gg/pc/ind2010.html" %>%
  read_html() %>%
  html_nodes("a.adminCHlink, div#spalteContentPlus h2 ~ ul") %>%
  .[[1]] %>%
  html_nodes("strong") %>%
    rlang::is_empty()
#> [1] TRUE
...