我是新手。我有一个R文件,包含一个带参数的函数。 我想执行以下两个不同的操作:
假设在R文件中有一个简单的函数
"exampleSum"<-
function(x,y){
x<-x+1
return(x+y)
}
你能告诉我哪些R命令可以执行我的要求。
答案 0 :(得分:27)
您必须致电debug(<functionName>)
来逐步执行某项功能。下次调用该函数时,将自动打开所谓的浏览器环境并列出函数的内容。按Return键或使用n
命令(下一步)执行一步。单步是一个块(通常是一行),它将在它运行之前列出。要将功能运行到最后,请按c
(继续)。当您处于浏览器模式时,可以使用ls()
,str()
,class()
,...来检查对象。您的示例如下所示:
> exampleSum <- function(x, y) {
+ x <- x+1
+ return(x+y)
+ }
> debug(exampleSum) # set debug flag
> exampleSum(1, 2) # run function in browser mode
debugging in: exampleSum(1, 2)
debug: {
x <- x + 1
return(x + y)
}
Browse[2]> n # next step
debug: x <- x + 1
Browse[2]> ls() # show objects
[1] "x" "y"
Browse[2]> x # show x
[1] 1
Browse[2]> c # run function to end
exiting from: exampleSum(1, 2)
[1] 4
> undebug(exampleSum) # remove debug flag
对undebug(<functionName>)
的最后一次调用会从函数中删除调试标志,以便下次调用时它将正常运行。
答案 1 :(得分:1)
首先需要将函数加载到R的工作区(通过将其复制/粘贴到R)。然后,您可以使用exampleSum(x = 1, y = 1)
运行它。您可以通过在R控制台中键入exampleSum
来检查它是否在那里。您还可以使用source()
运行脚本文件。使用示例为source("d:/R/my_script.R")
。
我认为至少阅读An Introduction to R会使你受益匪浅。 R初学者也有很多书可以解释这些基础知识。上述AI2R中提供了等效信息,互联网上有免费资料。搜索R help列表也很有帮助。