gpt4 book ai didi

r - as.numeric() 为应该是数字的内容生成 NA

转载 作者:行者123 更新时间:2023-12-02 02:47:32 25 4
gpt4 key购买 nike

我正在抓取伊利诺伊州惩教部网站 ( https://www2.illinois.gov/idoc/facilities/Pages/Covid19Response.aspx ),并尝试为感染 COVID-19 的员工数量创建一个名为 Staff.Confirmed 的向量。我运行以下代码


url <- "https://www2.illinois.gov/idoc/facilities/Pages/Covid19Response.aspx"
web <- read_html(url)
Staff.Confirmed.html <- html_nodes(web,'.soi-rteTableOddCol-1:nth-child(2)')
Staff.Confirmed <- html_text(Staff.Confirmed.html)
Staff.Confirmed <- as.numeric(Staff.Confirmed)

当我调用 Staff.Confirmed 时,会产生以下输出:

[1] "​1"  "​1"  "​1"  "​4"  "​5"  "​7"  "​1"  "​1"  "​2"  "​1"  "​13" "​3"  "​4"  "​2"  "​4"  "​2"  "​0"  "​8"  "​8"  "​1"  "​79" "​37" "​0"  "​1"  "​1"

但是,当我运行时

Staff.Confirmed <- as.numeric(Staff.Confirmed)

我收到警告消息“通过强制引入的 NA”。每个数字都变成了NA。据我所知,没有空格,也没有任何其他问题会导致这种情况。以前有其他人遇到过这个问题吗?

我尝试运行

Staff.Confirmed <- gsub(pattern="^[0-9]",replacement="",Staff.Confirmed)
Staff.Confirmed <- as.numeric(Staff.Confirmed)

但是发生了同样的错误。任何帮助将不胜感激!谢谢。

最佳答案

每个字符串的第一个位置隐藏着一个 unicode 字母( = 零宽度空格)。删除它,它就可以工作了:

url <- "https://www2.illinois.gov/idoc/facilities/Pages/Covid19Response.aspx"
web <- read_html(url)
Staff.Confirmed.html <- html_nodes(web,'.soi-rteTableOddCol-1:nth-child(2)')
Staff.Confirmed <- substr(html_text(Staff.Confirmed.html), 2, 999)
Staff.Confirmed <- as.numeric(Staff.Confirmed)

在 RStudio 的“环境 Pane ”中很容易发现它。 Pane 显示的向量如下所示:

chr [1:25] "<U+200B>1" "<U+200B>1" "<U+200B>1" "<U+200B>4" ...

我可以通过 nchar(html_text(Staff.Confirmed.html)) 确认每个字符串都太长了 1 个字符。

关于r - as.numeric() 为应该是数字的内容生成 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62562014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com