向量将不接受结果(将其返回为空白)

时间:2018-10-17 17:33:00

标签: r

我有以下代码:

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为空,并且没有值。它也不会将该值分配给for循环中的任何值,也不会显示为空。

我也尝试过

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

但这也不起作用(同一问题)

我在这里想念什么?

出于上下文的考虑,我正在https://rstudio.cloud中运行所有这些。与环境有关吗?我本以为这很简单。

1 个答案:

答案 0 :(得分:2)

我认为您需要使用paste而不是catcat函数用于打印,而paste函数用于连接字符串:

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

您可以在帮助页面上看到?cat不会返回任何内容(null)。因此,行为已记录在案。