gpt4 book ai didi

r - R中的类lambda函数?

转载 作者:行者123 更新时间:2023-12-03 08:19:01 25 4
gpt4 key购买 nike

我需要在 uni 的新讲座中使用/学习 R,我目前在语法上有点挣扎。我想绘制(通过 curve)一个简单的函数,但我似乎无法让它与内联的 lambda 类函数一起工作。

我尝试了以下方法:

> curve( function(x) x^2 )
Error in curve(function(x) x^2) :
'expr' did not evaluate to an object of length 'n'

但是,当我首先将函数存储在变量中时,它可以工作:
> quad <- function(x) x^2
> curve( quad )

R 中不允许这样的内联使用吗?有没有其他方法可以在不定义额外功能的情况下完成这项工作?谢谢!

最佳答案

你得看curve的来源了解正在发生的事情(只需在提示符下输入 curve 并按回车键)。

在那里您可以找到如何解析传递的表达式。

函数被发现的唯一方式就是只传递它的名字(参见 is.name 部分)。如果不是这种情况,则为每个 x 调用该表达式。 .在您的情况下:对于每个 x ,结果是一个函数,对于绘图来说这不是一个愉快的想法......

简而言之:不,你不能做你尝试过的事情,但正如@ROLO 所指出的,你可以立即传递函数体,它将被解析为一个表达式(并且应该包含 x )。如果这包含多个语句,只需将它们括在花括号中。

关于r - R中的类lambda函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com