如果表不存在,则跳过r中的for循环

pn9klfpd  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(411)

我在r中有一系列mysql表,如下所示。在这些table中,有些不见了。

Name
        A
        B
        C
        D

姓名列表<-姓名
我已经创建了一个函数。我使用mapply在列表中运行函数

Y<-function(x){summary(x)}
 A<-mapply(Name, Y)

这会引发如下错误

Table B doesn't exist

我的table清单上有一百张table。手动确定所有缺失的表是不可能的。是否有一种方法可以使用if语句跳过缺少的表。

imzjd6km

imzjd6km1#

创建 namelist2 列表包含mysql中所有可用的表,使用 show tables; 然后使用 is.element 检查

Y<-function(x){
                 if(is.element(x, namelist2)) summary(x)
    }

另一种选择,试试看 safelypurrr ```
library(purrr)
Y<-function(x){
safely(summary(x))
}

或者你可以试试 `try or try-catch` 

相关问题