我有一个数据框具有域名列。我想通过ping他们的域名来查看哪个域名存在。我可以从后续功能获得单独的ping响应。如何获得在R的ping响应
ping <- function(x,stderr=FALSE,stdout=FALSE,...){
pingvec <- system2("ping",x,
stderr=FALSE,
stdout=FALSE,...)
if (pingvec == 0) TRUE else FALSE
}
ping("google.com")
[1] TRUE
是否有任何R软件包,我可以得到具有数千个域名的整个列的ping响应。
是否调用'system'是一个安全问题取决于上下文。如果代码在任何你无法控制的机器上运行,那么是的,'ping'可以被重新定义为别的东西,并且存在安全问题。如果你想从你自己的机器上ping一堆地址,那不是问题。 –
它非常缓慢。花很多时间,有没有其他方法更快?然后我想查看哪些网站不能ping通。 – Neil
@Neil可以在系统级别更改ping超时。在Linux系统中,减少这个时间的选项是'ping -i 0.2'。你可以通过使用URLs < - paste(“ - i 0.2”,URLs)''将这个选项传递给pingr。这应该加快功能。不知道其他操作系统的选项。 – RHertel