如果表不存在,请在R中跳过for循环

时间:2018-07-02 11:26:00

标签: mysql r if-statement

我在R中有一系列mysql表,如下所示。在表中,有些丢失了。

     Name
        A
        B
        C
        D

名称列表<-名称

我已经创建了一个函数。我已经使用mapply在整个列表中运行该功能

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

这将引发如下错误

Table B doesn't exist

表列表中有一百个表。手动确定所有丢失的表是不可能的。有没有一种方法可以使用if语句跳过丢失的表。

1 个答案:

答案 0 :(得分:0)

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

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

另一种选择尝试safely中的purrr

   library(purrr)
   Y<-function(x){
                 safely(summary(x))
    }

或者您可以尝试try or try-catch