Как отфильтровать определенное слово от значений - PullRequest
1 голос
/ 22 сентября 2019

Я бы хотел отфильтровать значения в x, содержащие слово «Индия».

webpage <- getURL("https://www.sec.gov/Archives/edgar/data/789019/000156459019027952/msft-10k_20190630.htm")
webpage <- readLines(tc <- textConnection(webpage)); close(tc)
pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE)
# parse the tree by tables
x <- xpathSApply(pagetree, "//*/table", xmlValue)  
# do some clean up with regular expressions
x <- unlist(strsplit(x, "\n"))
x <- gsub("\t","",x)
x <- sub("^[[:space:]]*(.*?)[[:space:]]*$", "\\1", x, perl=TRUE)
x <- x[!(x %in% c("", "|"))]

1 Ответ

2 голосов
/ 22 сентября 2019

Мы можем использовать rvest, который я считаю более простым для очистки.

library(rvest)
url <- "https://www.sec.gov/Archives/edgar/data/789019/000156459019027952/msft-10k_20190630.htm"

url %>%
  read_html %>%
  html_text() %>%
  strsplit("\n") %>%
  .[[1]] %>%
  grep("India", ., value = TRUE)
...