此处是新手问题。我正在尝试运行一些代码,这些代码将从组合的网页列表中提取用户名和日期。以前,这工作得很好,但是现在当我运行代码时,我不断收到错误“ coercingargument不是原子向量”,该错误不断地重复。
我已经尝试在这里查看以前的答案,但似乎没有任何效果。我不明白为什么即使一切都没有改变,它突然停止工作。我的感觉是我要么删除了它需要的库,要么还没有完全重置。任何帮助将不胜感激。
# COLLECT THE DATES
for (i in urls3) {
addurl <- i
discussion <- read_html(i, timeout = 1000000000)
usernames <- discussion %>%
html_nodes(".lia-component-message-view-widget-author-username a") %>%
html_text()
all.usernames <- append(all.usernames, usernames)
datetime <- discussion %>%
html_nodes(".local-friendly-date")
datetime <- str_extract(datetime, "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2} [A-Z]{2}")
datetime <- parse_date_time(datetime, "%Y-%m-%d %H:%M:%p", tz = "US/Eastern")
datetime <- as.character(datetime)
date.posted <- datetime[1]
date.replied <- datetime[2]
date.difference <- difftime(datetime[2],datetime[1], units=c("mins"))
new.table <- rbind(new.table,c(addurl, date.posted, date.replied, date.difference))
}
预期结果将是一个包含URL,发布日期,回复日期和日期差的表。
实际结果是“参数不是原子矢量;强制参数不是原子矢量;强制参数不是原子矢量;强制参数不是原子矢量;……”
答案 0 :(得分:0)
您需要这些软件包才能使代码正常工作:
library(textreadr)
library(dplyr)
library(rvest)
library(stringr)
library(lubridate)
您可能会发现在for循环中哪里出错了,最后请注意在两个侧面连接相同的对象时。
append, c, rbind
您有两个带有read_html
函数的程序包,请小心。您将变得更加清楚,可以举一个更具句法的例子。希望对您有帮助。