可能重复:
How to be alerted about the ongoing progress of a loop/lapply
在调试R程序时,我想将输出信息打印到屏幕上以进行调试。例如,如何在同一行中生成类似下面的内容。
"loop= 5", "a=5","b=5"
答案 0 :(得分:0)
考虑到@ Matthew的建议,问题可能只是你试图一次对几个变量/字符串使用print
。这不行。
如果要将print
与字符串一起使用,则需要提供一个单字符串。最有效的方法是使用paste()
还有许多替代方案,例如cat
和sprintf
。这是一个简短的例子:
让我们创建一些示例变量来输出 我< - 3 a<-letters [1:5]
您可能正在尝试这样做:
# This will *NOT* work
print("loop = ", i, "a = ", a[[i]])
请尝试以下方法之一:
(注意:paste0
与使用paste(..., sep="")
)
# using print( paste0 (.) )
print(paste0("loop = ", i, ", a = ", a[[i]]))
# [1] "loop = 3, a = c
# using cat()
cat("loop = ", i, ", a = ", a[[i]])
# loop = 3 , a = c
# using sprintf
sprintf("loop = %d, a = %s", i, a[[i]])
# [1] "loop = 3, a = c"