相关疑难解决方法(0)

什么/函数对象的属性在哪里?

通过在R中使用函数,我发现它有更多的方面,而不是眼睛.

考虑一下简单的函数赋值,直接在控制台中输入:

f <- function(x)x^2
Run Code Online (Sandbox Code Playgroud)

f广义上讲,通常的"属性" 是(i)正式论证清单,(ii)身体表达和(iii)将成为功能评估框架的环境.可通过以下方式访问:

> formals(f)
$x
> body(f)
x^2
> environment(f)
<environment: R_GlobalEnv>
Run Code Online (Sandbox Code Playgroud)

此外,str返回更多信息附加到f:

> str(f)
function (x)  
 - attr(*, "srcref")=Class 'srcref'  atomic [1:8] 1 6 1 19 6 19 1 1
  .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x00000000145a3cc8>
Run Code Online (Sandbox Code Playgroud)

让我们试着联系到他们:

> attributes(f)
$srcref
function(x)x^2
Run Code Online (Sandbox Code Playgroud)

这是作为文本打印,但它存储为数字向量:

> c(attributes(f)$srcref)
[1]  1  6  1 19  6 19  1  1
Run Code Online (Sandbox Code Playgroud)

而且这个对象也有自己的属性:

> attributes(attributes(f)$srcref)
$srcfile


$class
[1] "srcref"
Run Code Online (Sandbox Code Playgroud)

第一个是环境,有3个内部对象:

> mode(attributes(attributes(f)$srcref)$srcfile)
[1] "environment"
> …
Run Code Online (Sandbox Code Playgroud)

r function

17
推荐指数
1
解决办法
1522
查看次数

标签 统计

function ×1

r ×1