如何在Ubuntu虚拟机的R脚本中抑制进度条输出
解决fread在Ubuntu虚拟机中重复显示进度条的问题
要抑制fread的进度条输出,有两种直接的解决方式:
1. 单次调用时关闭进度条
在调用fread()时显式设置showProgress = FALSE参数,示例:
fread("path/to/your/file.csv", showProgress = FALSE)
如果进度条来自你自定义的my_function内部的fread调用,直接修改函数里的fread语句,加上该参数即可。
2. 全局关闭所有fread的进度条
若不想每次调用都手动设置,可通过data.table的全局选项永久关闭:
options(datatable.showProgress = FALSE)
执行这条语句后,当前R会话中所有fread调用都会默认隐藏进度条。
补充说明
Windows本地未显示进度条,是因为fread的进度条仅在ETA(预计完成时间)超过3秒时触发,Windows环境下可能因文件读取速度较快、控制台输出机制差异等原因,ETA未达到触发阈值;而Ubuntu虚拟机中可能受IO性能限制,ETA超过3秒,因此触发了进度条,且虚拟机控制台的输出机制导致进度条重复打印,造成内容混乱。
内容的提问来源于stack exchange,提问作者Heinz
相关产品推荐
相关产品推荐

