117.info
人生若只如初见

r语言closure无法读取子集怎么解决

在R语言中,closure是一个函数和它的环境的结合体,通常用于创建匿名函数或者在函数中嵌套函数。如果想要在closure中读取父环境的子集,可以使用parent.env()函数来获取父环境,然后再使用subset()函数来获取子集。以下是一个示例:

# 创建一个closure函数
f <- function() {
  x <- 1:10
  closure <- function() {
    parent_env <- parent.env(environment())
    subset(parent_env, x > 5)
  }
  return(closure)
}

# 调用closure函数
closure <- f()
subset <- closure()

# 打印子集
print(subset)

在上面的示例中,首先定义了一个父函数f,其中包含一个闭包函数closure。闭包函数closure可以访问父函数f中定义的变量x,并返回x大于5的子集。通过调用f函数获取闭包函数closure,然后再调用closure函数来获取子集并打印出来。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe57dAzsLAQRTDVM.html

推荐文章

  • r语言怎么实现字符串复制

    在R语言中,可以使用rep()函数来实现字符串复制。rep()函数的第一个参数是要复制的字符串,第二个参数是复制的次数。
    以下是一个示例:
    # 将字符串复制...

  • r语言怎么选取多个列

    在R语言中,可以使用下列方法选取多个列: 使用列索引号选取列: df

  • r语言怎么求各行各列之和

    在R语言中,可以使用 rowSums() 和 colSums() 函数分别求各行和各列的和。 求各行之和: # 创建一个矩阵
    matrix

  • r语言列表从大到小排序怎么实现

    可以使用R语言内置的sort()函数,结合参数decreasing = TRUE,将列表从大到小排序。具体示例如下:
    # 创建一个列表
    my_list

  • PHP中怎么引用父类方法

    在PHP中,可以使用parent::关键字来引用父类方法。例如,在子类中调用父类的方法可以这样写:
    class ParentClass { public function parentMethod() { echo...

  • java输出log日志到特定文件怎么配置

    在Java中,可以通过配置log4j或者java.util.logging来将日志输出到特定的文件中。
    使用log4j的示例配置如下: 引入log4j依赖 log4j log4j 1.2.17 创建log4j...

  • linux实时显示时间的方法是什么

    在Linux系统中,可以使用date命令来实时显示当前时间。只需在终端中输入以下命令即可:
    date 这将显示当前的日期和时间,包括年、月、日、时、分和秒。您可...

  • ubuntu chmod命令的用法是什么

    chmod命令用于修改文件或目录的权限。其基本语法为:
    chmod [选项] 模式 文件或目录 常用选项包括: -R:递归修改文件或目录的权限
    -v:显示修改的详细...