如何在 R 中跳过某行
How skip some line in R
我有很多 URL 将它们的文本导入到 R 中。
我使用这个代码:
setNames(lapply(1:1000, function(x) gettxt(get(paste0("url", x)))), paste0("url", 1:1000, "_txt")) %>%
list2env(envir = globalenv())
但是,有些 URLs 无法导入并显示此错误:
Error in file(con, "r") : cannot open the connection In addition:
Warning message: In file(con, "r") : InternetOpenUrl failed: 'A
connection with the server could not be established'
因此,我的代码没有 运行 也没有从任何 URL 导入任何文本。
我如何识别错误的 URLs 并跳过它们以导入正确的 URLs?
@tester 提到的 trycatch
之外的一个可能的方法是 purrr
-package:
library(purrr)
# declare function
my_gettxt <- function(x) {
gettxt(get(paste0("url", x)))
}
# make function error prone by defining the otherwise value (could be empty df with column defintion, etc.) used as output if function fails
my_gettxt <- purrr::possibly(my_gettxt , otherwise = NA)
# use map from purrr instead of apply function
my_data <- purrr::map(1:1000, ~my_gettxt(.x))
我有很多 URL 将它们的文本导入到 R 中。 我使用这个代码:
setNames(lapply(1:1000, function(x) gettxt(get(paste0("url", x)))), paste0("url", 1:1000, "_txt")) %>%
list2env(envir = globalenv())
但是,有些 URLs 无法导入并显示此错误:
Error in file(con, "r") : cannot open the connection In addition: Warning message: In file(con, "r") : InternetOpenUrl failed: 'A connection with the server could not be established'
因此,我的代码没有 运行 也没有从任何 URL 导入任何文本。 我如何识别错误的 URLs 并跳过它们以导入正确的 URLs?
@tester 提到的 trycatch
之外的一个可能的方法是 purrr
-package:
library(purrr)
# declare function
my_gettxt <- function(x) {
gettxt(get(paste0("url", x)))
}
# make function error prone by defining the otherwise value (could be empty df with column defintion, etc.) used as output if function fails
my_gettxt <- purrr::possibly(my_gettxt , otherwise = NA)
# use map from purrr instead of apply function
my_data <- purrr::map(1:1000, ~my_gettxt(.x))