R语言中如何将操作结果分配至黑洞变量,避免污染环境?
处理方案
- 完全可以用“黑洞变量”解决这个问题,R里默认的
.就是这类临时黑洞变量,赋值给它的内容不会在全局环境中留存,同时tidylog的统计信息会正常输出。 - 示例代码(以
id1和id2作为多列主键为例):
library(tidylog) # 直接将合并结果赋值给黑洞变量. . <- full_join(df1, df2, by = c("id1", "id2"))
- 控制台会输出你需要的三类ID统计:
matched rows是两者共有的ID数,only in x对应df1独有的ID数,only in y对应df2独有的ID数,合并后的大dataframe不会占用环境空间。 - 要是想更彻底,连临时的
.都不想产生,用invisible()包裹函数调用就行:
invisible(full_join(df1, df2, by = c("id1", "id2")))
这样控制台只会输出tidylog的统计内容,不会留下任何变量。
内容的提问来源于stack exchange,提问作者robertspierre
相关产品推荐
相关产品推荐

