如何找到在R中创建函数所需的变量?

问题描述

我正在使用R和RStudio。我经常写代码,然后意识到我希望该代码成为一个函数。这是一个非常简化的插图:

我可能会编写的代码(不是一个很好的例子,但可以达到目的):

aSqr <- a * a
bCub <- b^3
c4th <- c^4
result <- aSqr + bCub + c4th

然后我决定将其放入一个函数中,该函数需要确定a,b和c必须是该函数的参数,而不是aSqr,bCub和c4th。有没有一种方法可以在RStudio中突出显示代码并确定需要作为参数传递的变量?在此示例中,参数很明显。在我实际编写的代码中,它并不那么明显。

所以我最终会得到一个像这样的函数

myFunction <- function(a,b,c){
    aSqr <- a * a
    bCub <- b^3
    c4th <- c^4
    return(aSqr + bCub + c4th)
}

解决方法

用一些看起来像的图片来扩展Stefan的评论:

步骤1。编写您的代码。

aSqr <- a * a
bCub <- b^3
c4th <- c^4
result <- aSqr + bCub + c4th

步骤2。突出显示想要的功能,然后按Ctrl + Alt + X(Windows)或Cmd + Option + X(Max)。或者,转到菜单代码>提取功能。给它起个名字。

Extract function

第3步。您有一个功能!

myFunction <- function(a,b,c) {
  aSqr <- a * a
  bCub <- b^3
  c4th <- c^4
  result <- aSqr + bCub + c4th
}

在您的情况下,您可能希望在最后一行之后添加return(result),以便您的函数返回可以分配的值。