首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个未命名的函数能在R中调用吗?

一个未命名的函数能在R中调用吗?
EN

Stack Overflow用户
提问于 2022-03-11 06:15:44
回答 1查看 41关注 0票数 1

让我们假设在一个名为script.R的R脚本开头有以下R代码:

代码语言:javascript
运行
复制
function(input) { 
 output <- input*input
 return(output)
}

在script.R提醒中,是否有有效的方法调用这个未命名的函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-11 09:23:54

这是可能的,但不可取。您必须使用evalparse (或类似的)来完成它。

thisfile.R file.R

代码语言:javascript
运行
复制
function(input) {
 output <- input*input
 return(output)
}

# This can be many lines later:
fun <- eval(parse(text = paste(readLines("thisfile.R", 4), collapse = "\n")))

# Now you can use the function.
print(sapply(1:5, fun))

它所提供的资源:

代码语言:javascript
运行
复制
source("thisfile.R")
#> [1]  1  4  9 16 25

并不是说在上面的例子中函数被存储为fun,但是您可以直接使用它。

代码语言:javascript
运行
复制
print(sapply(1:5,
  eval(parse(text = paste(readLines("thisfile.R", 4), collapse = "\n")))))

当然,如果您更改文件名或将其移到不同的位置,它将不再工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71434347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档