为什么我需要将“get”包装在 J“lapply”调用中的虚拟函数中?

2023-12-21

我希望通过类或常见模式匹配等标准来处理列grep.

我的第一次尝试没有成功:

require(data.table)
test.table <- data.table(a=1:10,ab=1:10,b=101:110)
##this does not work and hangs on my machine
test.table[,lapply(names(test.table)[grep("a",names(test.table))], get)]

里卡多·萨波塔 https://stackoverflow.com/users/1492421/ricardo-saporta 答案中的注释 https://stackoverflow.com/questions/15790743/data-table-meta-programming/15791747#15791747你可以使用这个构造,但你必须包装get在虚拟函数中:

##this works
test.table[,lapply(names(test.table)[grep("a",names(test.table))], function(x) get(x))]

为什么需要匿名函数?

(首选/更清洁的方法是通过.SDcols:)

test.table[,.SD,.SDcols=grep("a",names(test.table))]
test.table[, grep("a", names(test.table), with = FALSE]

虽然 @Ricardo 是正确的,即在包装器中包装依赖于方法分派的原语或函数更安全,但在这里我们可以通过设置正确的值来避免这种情况environment for get在其中进行搜索。技巧与lapply是使用sys.parent(n)(在这种情况下n = 0将起作用)以获得适当的调用环境。

test.table[,lapply(grep('a',names(test.table),value=TRUE), 
                    get, envir = sys.parent(0))]

(更多信息可以在这里找到在函数内部使用 get inside lapply https://stackoverflow.com/questions/8016636/using-get-inside-lapply-inside-a-function)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我需要将“get”包装在 J“lapply”调用中的虚拟函数中? 的相关文章

  • 单击并按住 R 中的按钮闪亮?

    我希望能够通过单击 R 闪亮按钮来更改参数的值 所以我需要按钮 一个用于增加值 一个用于减少值 我想在按住按钮的同时保持值以一定的速度减少 增加 通过释放按钮的点击 动作应该停止 到目前为止我还没有找到这个选项actionButtons在
  • 在 R 中读取 Stata 13 文件

    有没有办法在 R 中读取 Stata 版本 13 数据集文件 我尝试执行以下操作 gt library foreign gt data read dta TEAdataSTATA dta 但是 我收到一个错误 read dta TEAdat
  • SPGridView、数据以及确保数据安全的正确方法

    我正在使用 SPGridView 来呈现一些数据 并启用了效果很好的过滤功能 直到您选择数据中的特定项目进行过滤 有问题的数据项在字符串中包含撇号 例如 这是 richards 的字符串 这会导致后过滤器应用程序页面加载因错误而终止 Syn
  • 当 DataTable 为空时,DataGrid 显示空行

    我有一个DataGrid dg1 绑定到DataTable 数据集 表 代码运行良好并且DataGrid正在显示数据DataTable正确 但是 如果我Clear the DataTable the DataGrid也很清楚 但留下一个空行
  • R - 根据另一个数据框查找每组的重叠日期

    我有一个数据框 其中包含多个雨量计的降雨测量值 如下例所示 gt rnfl ID date value 1 250 2000 03 01 5 37 2 250 2000 03 02 0 00 3 250 2000 03 03 2 94 4
  • R 中大型稀疏矩阵的聚类分析

    我有一个包含 250000 笔交易 行 和 2183 项 列 的交易数据集 我想将其转换为稀疏矩阵 然后对其进行分层聚类 我尝试了包 sparcl 但它似乎不适用于稀疏矩阵 关于如何解决这个问题有什么建议吗 或者我可以使用任何其他包对稀疏矩
  • 包检查时如何有效处理未压缩的保存?

    在最近开发一个包的过程中 我将数据集包含在data 我的包的文件夹 在我的具体情况下 我有 5 个数据集 所有这些数据集都位于data table格式 尽管我在下面描述的问题仍然存在 如果我将它们保留为data frame 我已将每个人单独
  • Dplyr 多重滞后整齐评估?

    我试图在 dplyr 中使用尽可能少的代码来实现多个滞后 同时坚持整洁的评估 以下标准评估 SE 代码有效 if require dplyr install packages dplyr library dplyr a as tibble
  • Yajra DataTable Laravel 中的 Foreach

    我试图在我的数据表中放入一个 foreach 循环 但它不起作用 附 如果我删除 foreach 一切都已经正常了 这里附上我的代码 Product Product query colors Color all return Datatab
  • 在 R 中修改传单弹出窗口

    我想修改 R 中传单弹出窗口的外观 帮助文件指出 in the popupOptions 函数需要 传递给底层 Javascript 对象构造函数的额外选项 In 这个例子 https rstudio github io leaflet p
  • R中有字典功能吗

    有没有办法在 R 中创建一个 字典 使其具有对 一些效果 x dictionary c Hi Why water c 1 5 4 x Why 5 我问这个是因为我实际上正在寻找两个分类变量函数 所以如果 x dictionary c a b
  • 我可以调整scale_color_brewer的下限吗?

    我已经订购了我想使用 color Brewer 的分类数据 但我很难看到非常低的值 有没有办法去掉这些较低的值或设置范围的下限 ggplot data frame x 1 6 y 10 15 w letters 1 6 aes x y co
  • 如何在 Shiny 中动态渲染的 textInput 添加样式元素

    你好堆栈溢出 在我最近提出的问题中 我已经解决了一些与动态渲染 UI 元素相关的主要问题 并在一些了不起的人的帮助下动态创建了观察者 参见此处 动态渲染的 UI 如何在第二次运行时删除旧的反应变量 https stackoverflow c
  • R 中带有边缘箱线图的直方图

    如何使直方图中的 X 轴与边缘箱线图匹配 data lt rnorm 1000 nf lt layout mat matrix c 1 2 2 1 byrow TRUE height c 1 3 layout show nf par mar
  • 如何优化 R 中的 sapply 来计算数据帧上的运行总计

    我在 R 中编写了一个函数来按月份计算累积总数 但随着数据集变大 我的方法的执行时间呈指数增长 我是一名 R 程序员新手 你能帮我提高效率吗 该函数以及我调用该函数的方式 accumulate lt function recordnum d
  • 在 R Shiny 中显示/隐藏整个框元素

    我目前正在尝试找到一种方法来隐藏 显示 R Shiny 中的整个 box 元素 以及里面的所有内容 我想创建一个可能的按钮 它允许用户展开特定框 然后使用相同 甚至不同 的按钮隐藏它 我不想使用条件面板 因为我的应用程序非常大并且会产生一些
  • 通过 RCpp 返回 NA

    新手 RCpp 问题在这里 How can I make a NumericVector returnNA到R 例如 假设我有一个 RCpp 代码 它分配NA到向量的第一个元素 RCpp export NumericVector myFun
  • 一次评论多个对象

    假设您有一个变量 a 到 j 的列表 for x in 1 10 assign letters x x 您将如何评论那些最近创建的对象 我尝试过类似的事情 for x in 1 10 comment get letters x lt pas
  • 通过 r 中的组变量进行汇总

    我有一个数据框如下 head newStormObject FATALITIES INJURIES PROPVALDMG CROPVALDMG EVTYPE total 1 0 15 2 5e 05 0 TORNADO 15 2 0 0 2
  • R - 如何为数据范围内的缺失值绘制条形图零点?

    假设我对 1 到 10 之间的整数的 200 个点有 10 个观察值 mysample sample rep seq 1 10 20 10 我想用条形图绘制它 barplot table mysample barplot https i s

随机推荐

  • ASP.Net Core 上具有自动再生功能的内存缓存

    我想没有内置的方法可以实现这一点 我有一些缓存数据 需要始终保持最新 间隔几十分钟 它的生成大约需要 1 2 分钟 因此有时会导致请求超时 为了优化性能 我将其放入内存缓存中 使用Cache GetOrCreateAsync 所以我确信可以
  • Haskell 中的随机整数 [重复]

    这个问题在这里已经有答案了 我正在学习 Haskell 并学习我想生成一个随机的 Int 类型 我很困惑 因为下面的代码有效 基本上 我想要一个 Int 而不是 IO Int 在 ghci 中 这是有效的 Prelude gt import
  • 如何使用 Spring Cloud 和 Netflix OSS 在微服务之间路由

    在使用 Spring Cloud 开发微服务期间 我们开始使用 Zuul 作为从外部到微服务的任何连接以及任何需要联系另一个微服务的微服务的代理 一段时间后 我们得出结论 Zuul 被设计为边缘服务 仅代理从外部到微服务的流量 并且不应用于
  • 如何在AWS Lambda上使用tabula阅读pdf?

    我知道我们必须下载 Java 才能运行 我在 IDE 上执行了该操作 并且成功了 但不知道如何在 AWS Lambda 上下载它 如果有人能帮助我 我将不胜感激 我认为代码本身产生了我所期望的结果 但是 java正是我所需要的 这是我收到的
  • 将 GKE 服务帐户凭据与 kubectl 结合使用

    我正在尝试从 CI 系统中调用 kubectl 我希望使用谷歌云服务帐户进行身份验证 我有一个秘密管理系统 可以将秘密注入到我的 CI 系统中 但是 我的 CI 系统没有安装 gcloud 我不想安装它 它只包含 kubectl 有什么方法
  • Azure AD B2C 令牌返回名称,但 User.Identity.Name 为 null

    我有一个 Azure AD B2C 令牌 它似乎可以正确返回当前登录的用户名 这是 jwt ms 的屏幕截图 我在登录后使用它来解码应用程序返回的令牌 但是 然后我尝试使用 User Identity Name in my Layout c
  • 关于Javascript中的“5”-1和“5”+1(加号和减号)[重复]

    这个问题在这里已经有答案了 我读了一本关于 Javascript 运算符的书 这让我很困惑 console log 5 1 这将使 5 成为一个字符串 所以结果是51 console log 5 1 这个结果将是4 我知道它会转换 5 to
  • 在 VSTS 中设置 GitFlow - 最佳实践?

    有没有关于如何使用 Visual Studio TeamServices 设置 GitFlow 的建议 我们来自 BitBucket 那里只是一个简单的初始化 但在VSTS中我们找不到任何脚手架 看来我们必须进行很多手动设置 对吗 那么如何
  • 捕获滚动​​溢出:隐藏元素

    假设您有一个隐藏了溢出的元素 是否可以在不滚动的情况下捕获该元素上的鼠标滚动 我问这个的原因是 我有一个单页设计的网站 我编写了一个脚本 当您向下或向上滚动时 该脚本会自动滚动到下一个位置 但有一些我不想要的东西 当他们尝试滚动时 页面实际
  • 共同的初始序列和比对

    在思考反例时这个问题 https stackoverflow com q 21499120 420683 我想出了 struct A alignas 2 char byte 但如果这是合法和标准布局 它的布局是否与此兼容struct B s
  • Linux 中 C++ 的低级磁盘操作

    linux中有哪些方法可以用C 进行低级磁盘操作 我正在尝试在磁盘上编写自己的数据管理器 例如 我想在Linux环境中创建一个C 程序 在磁盘上分配一定数量 连续 的数据 然后自由地允许我读 写该数据块 我认为我不想使用该标准fstream
  • 将独立的 aspx/asmx 页面添加到 DotNetNuke 中

    你好 我刚刚在我的服务器上安装了 dotnetnuke 5 06 比如说 路径是 mydomain com dnn 我有一个独立于 dotnetnuke 的库 我必须运行它 它包含 Web 服务和各种其他 httphandlers 所以我还
  • Excel Range 奇怪行为的 SpecialCells 方法

    我编写了一个宏 使用 Excel 范围对象的 SpecialCells 方法从某个范围中查找空白单元格 当我尝试执行以下代码时 出现 未找到单元格 的异常 Sub test Debug Print Sheet1 Range A1 D4 Sp
  • 无法找到组合@Published - Xcode11 Beta 5(11M382q)

    我正在尝试使用以下内容运行一个简单的项目 Published var currentPlacemark CLPlacemark nil XCode 11 Beta 5 11M382q iOS13 17A5556d 出现以下错误 dyld S
  • azure辅助角色中的异步/等待导致角色回收

    我正在我的 WorkerRole RoleEntryPoint 中使用任务 异步和等待 我有一些无法解释的回收 现在我发现 如果等待调用中的某些内容运行时间过长 则角色会回收 要重现它 只需在 Run 方法中执行 await Task De
  • Jquery UI 可调整大小 - 调整放置在 iframe 上的 div 的大小

    如果你查看这个 jsbin http jsbin com efosed 5 edit http jsbin com efosed 5 edit然后你按 Run with JS 就会出现一个可以用 jquery ui 调整大小的 div 一切
  • Azure Functions 部署时无法运行

    我是新来的 如果帖子不完整 抱歉 我正在尝试在 azure 上部署一个与 blob 交互的 python 脚本 该脚本在本地运行良好 我可以与我的存储帐户交互 上传和下载 blob 但是当我在 azure 上部署我的函数时 它不会运行 日志
  • bash 使用序列号批量重命名文件夹和子文件夹中的文件

    我需要一个 bash 脚本来执行以下操作 对于文件夹及其子文件夹中存在的特定类型的每个文件 它都会在前面添加一个序列号 4 位数字 后跟一个分隔符 例如我有 Queen 1986 A Kind of Magic 01 One vision
  • 流程图 - 动态更改 y 轴

    我是飞行新手 但很快就设置了我的时间图 这是我基于时间的情节 plot placeholder d xaxis mode time minTickSize 1 month min new Date 2008 05 20 getTime ma
  • 为什么我需要将“get”包装在 J“lapply”调用中的虚拟函数中?

    我希望通过类或常见模式匹配等标准来处理列grep 我的第一次尝试没有成功 require data table test table lt data table a 1 10 ab 1 10 b 101 110 this does not