-1

可能重复:
如何收到有关循环/lapply 正在进行的进度的警报

在调试 R 程序时,我想将输出信息打印到屏幕上以进行调试。例如,如何在同一行中生成类似以下内容。

"loop= 5", "a=5","b=5"
4

1 回答 1

0

接受@Matthew 的建议,问题可能只是您试图print一次在多个变量/字符串上使用。这行不通。

如果要print与字符串一起使用,则需要提供一个单独的字符串。最有效的方法是使用paste().
还有很多替代方案,例如catsprintf。这是一个简短的例子:

让我们创建一些示例变量来输出 i <- 3 a <- letters[1:5]

您可能正在尝试这样做:

# This will *NOT* work
print("loop = ", i, "a = ", a[[i]])

而是尝试以下方法之一:(注意:paste0与 using 相同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"
于 2012-12-17T19:11:21.540 回答