我有以下代码来检查数据集是否存在以及数据集是否有数据,并且问题出在宏变量周围。
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")
错误消息是
if(exists(“ df”)&& is.data.frame(get(“ df”))&& dim(“ df”)==
时出错
因此,显然dim(“ df”)无法正常工作,应该是dim(df)。我尝试将双引号从2减为3,但看起来它将d识别为1,将f识别为2,因此不计算双引号。我在这里迷路了,如何使代码像这样
if (exists("df") && is.data.frame(get("df")) && dim(df) ==