我一直在使用来自 Heuristic Andrew 的这段很棒的代码blog
您可以在其中定位 IP 地址。我希望能够在大型(24867 个 IP)IP 地址向量上运行该函数。问题是大多数 IP 地址都会返回以下错误:
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") : cannot open: HTTP status was '404 Not Found'
我假设发生这种情况是因为无法追踪 IP 地址。
我想创建 IP 地址向量的子集来为我提供位置。我想我需要编写另一个函数,将 IP 地址放入新的工作 IP 地址向量中,或者放入不同的错误 IP 地址向量中。
我想我还需要使用try
or tryCatch
功能?
我是编程新手,所以我不知道如何编写函数。我看过网上的例子,但不太明白。任何意见,将不胜感激。
EDIT:
这应该有效:
ips <- c('184.26.100.110', '555.22.333.111')
try.ip <- function(ip) suppressWarnings(try(freegeoip(ip), silent = TRUE))
outcomes <- lapply(ips, try.ip)
is.ok <- function(x) !inherits(x, "try-error")
sapply(outcomes, is.ok)
# [1] TRUE FALSE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)