你能在 R 中取消打印一行吗?

Can you unprint a line in R?

我正在写一些数据处理的东西,我想要一个简明的进度状态打印一个分数,随着时间的推移在控制台的一行上更新。

为了完成这个,我想要这样的东西

print(Initiating data processing...)
for(sample in 1:length(data)){
   print(paste(sample,length(data),sep="/"))
   process(data[[sample]])
   #Unprint the bottom line in the console ... !!! ... !!!.. ?
}

保持屏幕清洁等等。我不太清楚该怎么做。我知道有一个 R text progress bar 但为了实用程序,我正在寻找更多的控制权。

谢谢!

我认为你最好的选择是完全按照 R 文本进度条的方式执行,即“\r 到 return 到左边距”,如帮助文件中所示。您必须使用 cat 而不是 print 因为 print 以换行符结尾。

cat("Initiating data processing...\n")
for(sample in 1:length(data)){
   cat(sample, length(data), sep="/")
   process(data[[sample]])
   cat("\r")
}
cat("\n")