在数据帧名称为字符串的情况下,检查数据帧是否存在的首选方法是什么?我能想到:
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.