检查数据框是否存在

Tom*_*eif 18 r dataframe

在数据帧名称为字符串的情况下,检查数据帧是否存在的首选方法是什么?我能想到:

df_name <- 'iris'

# Option 1
tryCatch(is.data.frame(get(df_name)), error=function(cond) FALSE)

# Option 2
if (exists(df_name)) is.data.frame(get(df_name)) else FALSE
Run Code Online (Sandbox Code Playgroud)

Sve*_*ein 28

第二个选项可以缩短为

exists(df_name) && is.data.frame(get(df_name))
Run Code Online (Sandbox Code Playgroud)

运算符&&允许延迟评估,即仅在第一个语句返回时才评估第二个语句TRUE.