我创建了一个函数,需要在字符串周围粘贴“”,最终所需代码为'table_df'
,代码如下
if (exists('table_df') && is.data.frame(get('table_df'))&nrow(table_df)>0) {
tracking_sheet$var1[tracking_sheet$var2=="table_name"]<-'Completed'
} else {tracking_sheet$var1[tracking_sheet$var2=="table_name"]<-'Check'}
这是我的功能,但它不起作用,主要是因为字符串部分周围的引号。 paste('", table_df, "',sep="")
,所以我的问题是如何使用粘贴或其他功能来实现最终结果'table_df'
check<-defmacro(tracking_sheet,table_df,table_name,
expr={if (exists(paste('", table_df, "',sep="")) && is.data.frame(get(paste('", table_df, "',sep="")))&nrow(table_df)>0) {
tracking_sheet$var1[tracking_sheet$var2==table_name]<-'Completed'
} else {tracking_sheet$var1[tracking_sheet$var2==table_name]<-'Check'}
})
check(tracking_sheet,app_df_pivot,"T_Applications")
上面的代码试图创建一个摘要表来报告环境中存在哪个数据帧以及df是否包含数据。我欢迎所有的建议,谢谢你!
答案 0 :(得分:1)
我认为你的意思是使用
paste('"', table_df, '"',sep="")
没有结束单引号,
paste('", table_df, "',sep="")
评估为&#34;,table_df,&#34;
答案 1 :(得分:0)
如果要粘贴引号,则必须使用&#34; \&#34;
转义它paste0("\'", "example", "\'")