【问题标题】:How to find the variables needed to create a function in R?如何找到在 R 中创建函数所需的变量?
【发布时间】:2020-08-25 17:59:54
【问题描述】:

我正在使用 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)
}

【问题讨论】:

  • 从描述中看不清楚。如果要获取已创建的对象,请使用 lspatternls(pattern = '^a|b|c$')
  • @akrun 我认为问题是您能否让 RStudio 识别基于预先存在的代码的自定义函数所需的参数。
  • RStudio 有一个快捷方式。突出显示代码,按 Ctrl + Alt + X。

标签: r function arguments rstudio


【解决方案1】:

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

第 1 步。编写代码。

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

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

第 3 步。你有一个函数!

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-25
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 2018-05-29
    相关资源
    最近更新 更多