我有一个数据集,它有一个'url‘变量,它指向关于我正在研究的主题的新闻文章。我想创建一个虚拟变量,如果url表示的文章包含我感兴趣的特定短语,则该变量的值为1,否则虚拟变量将为零。
例如,当前数据帧(df)如下所示:
n url
1 <www.url-a.com>
2 <www.url-b.com>
3 <www.url-c.com>我在用url变量表示的每一篇新闻文章中寻找“气候变化”一词。我需要R访问每个url,抓取它,搜索短语“气候变化”,如果网页包含该短语,则返回虚拟变量的值1。例如,如果只有第二行表示的新闻文章包含短语“气候变化”,则新的"climatedummy“变量将如下所示:
n url climatedummy
1 <www.url-a.com> 0
2 <www.url-b.com> 1
3 <www.url-c.com> 0任何帮助都将不胜感激。谢谢!
发布于 2020-12-09 14:31:14
您可以尝试:
library(rvest)
df$climatedummy <- sapply(df$url, function(x) {
tryCatch(as.integer(grepl('climate change', html_text(read_html(x)))),
function(e) return(NA))
})https://stackoverflow.com/questions/65211399
复制相似问题