Вектор не примет результат (возвращает его пустым) - PullRequest
0 голосов
/ 17 октября 2018

У меня есть следующий код:

webpage <- "https://www.dotabuff.com/heroes"
heroes <- read_html(webpage) %>% 
  html_nodes("div.name") %>% 
  html_text()
heroes <- sapply(gsub(" ","-",heroes), tolower)

Тянет список имен с этого сайта.Когда я запускаю этот код, он правильно анализирует все имена героев как строчные и со словами, разделенными дефисами.

Когда я запускаю этот код:

cat(webpage,heroes[i],sep="/")

, где я являюсь объектом из вектора, который я хочу вернуть (я намереваюсь использовать его в цикле for), он будетправильно вернуть веб-страницу, как я ожидаю.Однако, когда я делаю

var <- cat(webpage,heroes[i],sep="/")

, он говорит мне, что var имеет значение null и не имеет значения.Он также не будет присваивать это значение чему-либо в цикле for, представляя его как ноль.

Я также пытался

var <- toString(cat(webpage,heroes[i],sep="/"))

, но это тоже не сработало(та же проблема)

Что мне здесь не хватает?

Я запускаю все это в https://rstudio.cloud, для контекста.Это что-то с окружающей средой?Я бы подумал, что это будет просто.

1 Ответ

0 голосов
/ 17 октября 2018

Я думаю, вам нужно использовать paste вместо cat.cat -функция, предназначенная для печати, тогда как paste -функция предназначена для объединения строк:

var <- paste(webpage, heroes[i], sep="/")

Как видно на странице справки ?cat ничего не возвращает (null).Таким образом, поведение соответствует задокументированному.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...