在网络抓取的空白值中插入 NA
Inserting NA in blank values from web scraping
我正在努力将一些数据抓取到一个数据框中,但得到了一些空字段,而我更希望在这些字段中使用 NA。我试过 na.strings,但我要么把它放在了错误的地方,要么它根本不起作用,我试着 gsub 任何从行首到结尾的空白,但那没有用。
htmlpage <- read_html("http://www.gourmetsleuth.com/features/wine-cheese-pairing-guide")
sugPairings <- html_nodes(htmlpage, ".meta-wrapper")
suggestions <- html_text(sugPairings)
suggestions <- gsub("\r\n", '', suggestions)
如何在将空白字段添加到数据框后或在添加之前使用 NA 将空白字段分出。
rvest::html_text
具有内置修整选项设置 trim=TRUE
。
完成此操作后,您可以使用例如ifelse
测试空字符串 (==""
) 或使用 nzchar
.
我知道你可以这样做:
html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE) %>% ifelse(. == "", NA, .)
或者这个:
res <- html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE)
res[!nzchar(res)] <- NA_character_
@Richard Scriven 改进:
html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE) %>% replace(!nzchar(.), NA)
我正在努力将一些数据抓取到一个数据框中,但得到了一些空字段,而我更希望在这些字段中使用 NA。我试过 na.strings,但我要么把它放在了错误的地方,要么它根本不起作用,我试着 gsub 任何从行首到结尾的空白,但那没有用。
htmlpage <- read_html("http://www.gourmetsleuth.com/features/wine-cheese-pairing-guide")
sugPairings <- html_nodes(htmlpage, ".meta-wrapper")
suggestions <- html_text(sugPairings)
suggestions <- gsub("\r\n", '', suggestions)
如何在将空白字段添加到数据框后或在添加之前使用 NA 将空白字段分出。
rvest::html_text
具有内置修整选项设置 trim=TRUE
。
完成此操作后,您可以使用例如ifelse
测试空字符串 (==""
) 或使用 nzchar
.
我知道你可以这样做:
html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE) %>% ifelse(. == "", NA, .)
或者这个:
res <- html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE)
res[!nzchar(res)] <- NA_character_
@Richard Scriven 改进:
html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE) %>% replace(!nzchar(.), NA)