R使用quote和unquote宏变量的最佳方法

R使用quote和unquote宏变量的最佳方法,r,macros,double-quotes,R,Macros,Double Quotes,我有下面的代码来检查数据集是否存在,数据集是否有数据,问题来自宏变量周围的双引号 check_data_ready <- defmacro(tracking_sheet,table_df,table_name, expr={if (exists(table_df) && is.data.frame(get(table_df)) && dim(table_df)==NULL) {`tracking_sheet$DataReady[tracking_sheet$

我有下面的代码来检查数据集是否存在,数据集是否有数据,问题来自宏变量周围的双引号

check_data_ready <- defmacro(tracking_sheet,table_df,table_name,
expr={if (exists(table_df) && is.data.frame(get(table_df)) && dim(table_df)==NULL) {`tracking_sheet$DataReady[tracking_sheet$Table==table_name]<-'Ready'
} else {tracking_sheet$DataReady[tracking_sheet$Table==table_name]<-'Check!'}
                           })

check_data_ready(tracking_sheet,"df","Table")

defmacro
功能从何而来?这似乎不是一个基本的R函数。为什么不使用
get(table_df)
dim()
像使用
is.data.frame()那样?
if (exists("df") && is.data.frame(get("df")) && dim(df) ==