在函数内部有没有一种方法可以打印或显示变量的值,而不是在调用函数后在函数外部打印变量的值?
我几乎肯定有这样的方法,而且认为这个代码被称为reveal
或类似的名称,但我无法回忆出正确的术语。
my.function <- function(x) {
y <- x^2
# reveal(y)
# display(y)
# desired result is to print or display here:
# [1] 16
cat(y)
print(y)
return(y)
}
x <- 4
my.function(x)
#16[1] 16
#[1] 16
cat(y)
、print(y)
和return(y)
都是在函数外打印。感谢任何建议。
编辑
我在这里找到了一个类似的问题:
https://stat.ethz.ch/pipermail/r-help/2002-November/027348.html
Peter Dalgaard对该问题的回复是取消Misc
选项卡下的buffered output
选项。但是,在我的情况下,这似乎不起作用。也许这些问题没有关联。
4
甚至还没有被传递到函数中... - Robert Krzyzanowski}
后面出现了数字 16。 - Mark Miller?debug
,它将逐步执行函数并允许您在函数执行的不同点检查对象。要尝试,请使用debug(my.function); my.function(4)
,然后在定义之后且调用return
之前的任何时候输入y
。 - jbaumsmessage
,它在“函数内部打印”方面表现良好——我也用它来调试并行操作。 - Gary Weissman