英文:
How to solve 'Input must be a vector, not an environment' when crawling website with R
问题
我正在爬取一个网站到R,但出现错误:!输入必须是一个向量,而不是一个环境。
我尝试通过以下方式来爬取网站:
simple <- read_html("https://en.wikipedia.org/wiki/Kargil_War")
a <- simple %>%
html_nodes("p") %>%
html_text()
这段代码一开始是可以工作的,但后来出现了错误:
在 stop_vctrs()
中的错误:
!输入必须是一个向量,而不是一个环境。
运行 rlang::last_error()
来查看错误出现的位置。
我该如何解决这个问题?
谢谢!
英文:
I am crawling a website to R but error pops up: ! Input must be a vector, not an environment.
I attempt to crawl a website by doing
` simple <- read_html("https://en.wikipedia.org/wiki/Kargil_War")
a <- simple %>%
html_nodes("p") %>%
html_text() `
The code works at the beginning but error pops up later:
Error in stop_vctrs()
:
! Input must be a vector, not an environment.
Run rlang::last_error()
to see where the error occurred.
How can I solve this?
Thank you!
答案1
得分: 1
我看到在使用stringr
包的1.5.0版本时出现了这个错误。将stringr
版本回退到1.4.0版本可以解决你的示例问题。
require(devtools)
install_version("stringr", version = "1.4.0")
英文:
I've seen this error when using version 1.5.0 of the stringr
package. Reverting to stringr
version 1.4.0 fixed your example for me.
require(devtools)
install_version("stringr", version = "1.4.0" )
答案2
得分: 1
更新了vctrs
,对我有用。
install.packages("vctrs")
英文:
Had the same problem, updating the vctrs
worked for me.
install.packages("vctrs")
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论