R 如何在另一个函数中将函数作为字符串传递

2024-02-14

对于这个小难题的任何帮助将不胜感激。

我正在尝试向tq_transmute函数从tidyquant包裹;参数的值是一个函数,但是我想将其作为字符串传递(在下面示例的范围内,我将通过 Shiny 传递它)selectInput).

我已经尝试了所有我能想到的方法将字符串“apply.quarterly”转换为对象apply.quarterly接受的mutate_fun争论。注释行是我失败的尝试。

最终,我想将这个概念扩展到其他论点,即FUN = max to FUN = ‘max’.

library(tidyverse)
library(tidyquant)
library(rlang)

FANG %>%
  group_by(symbol) %>%
  tq_transmute(select     = adjusted, 
               mutate_fun = apply.quarterly,
               # mutate_fun = sym('apply.quarterly'),
               # mutate_fun = syms('apply.quarterly'),
               # mutate_fun = !!sym('apply.quarterly'),
               # mutate_fun = !!!sym('apply.quarterly'),
               # mutate_fun = eval(parse('apply.quarterly')),
               # mutate_fun = eval(substitute('apply.quarterly')),
               # mutate_fun = enquo('apply.quarterly'),
               # mutate_fun = expr(!!enquo('apply.quarterly')),
               # mutate_fun = quo('apply.quarterly'),
               # mutate_fun = enquos('apply.quarterly'),
               # mutate_fun = enquote('apply.quarterly'),
               # mutate_fun = quote('apply.quarterly'),
               # mutate_fun = substitute('apply.quarterly'),
               # mutate_fun = parse('apply.quarterly'),
               # mutate_fun = parse('apply.quarterly'),
               # mutate_fun = ensym('apply.quarterly'),
               # mutate_fun = rlang::as_function('apply.quarterly'),
               # mutate_fun = rlang::as_closure('apply.quarterly'),
               # mutate_fun = rlang::as_quosure('apply.quarterly'),
               # mutate_fun = rlang::as_quosure('apply.quarterly'),
               # mutate_fun = enexpr('apply.quarterly'),
               # mutate_fun = enexprs('apply.quarterly'),
               # mutate_fun = ensym('apply.quarterly'),
               # mutate_fun = ensyms('apply.quarterly'),
               # mutate_fun = eval_tidy('apply.quarterly'),
               # mutate_fun = exprs('apply.quarterly'),
               # mutate_fun = expr_deparse('apply.quarterly'),
               # mutate_fun = expr_label('apply.quarterly'),
               # mutate_fun = expr_label(substitute('apply.quarterly')),
               # mutate_fun = expr_label(quote('apply.quarterly')),
               # mutate_fun = parse_expr('apply.quarterly'),
               # mutate_fun = quasiquotation('apply.quarterly'),
               # mutate_fun = quotation('apply.quarterly'),
               # mutate_fun = quotation('apply.quarterly'),
               FUN        = max, 
               col_rename = "max.close")

您可以使用blast()用于立即评估的准报价

blast <- function(expr, env = caller_env()) {
  eval_bare(enexpr(expr), env)
}

blast(list(!!!1:3))
#> [[1]]
#> [1] 1
#>
#> [[2]]
#> [1] 2
#>
#> [[3]]
#> [1] 3

Then

myfun <- "apply.quarterly"

blast(
  FANG %>%
    group_by(symbol) %>%
    tq_transmute(
      select = adjusted,
      mutate_fun = !!sym(myfun),
      FUN = max,
      col_rename = "max.close"
    )
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 如何在另一个函数中将函数作为字符串传递 的相关文章

  • 多个动态滤镜更新闪亮

    我希望能够让 UI 输入闪亮 并根据用户之前的选择进行自我更新 因此 在下面的示例中 预期的行为是用户选择cyl vsor carb那么这将 过滤数据集mtcars用于创建绘图 即用户根据过滤条件调整绘图并 更新其他过滤器中的剩余输入选择
  • 为什么 sapply 的缩放速度比样本大小的 for 循环慢?

    假设我想采用向量 X 2 1 N 并将 e 计算为每个元 素的指数 是的 我认识到最好的方法就是通过向量化 exp X 但这样做的目的是将 for 循环与 sapply 进行比较 我通过逐步尝试三种方法 一种使用 for 循环 两种以不同方
  • 如何在 R 中的 for 循环内将值存储在向量中

    我正在开始使用 R 但我对以下问题感到非常沮丧 我试图将 for 循环内完成的某些计算的值存储到我之前定义的向量中 问题是如何进行索引 因为for循环迭代代码的次数取决于用户的输入 所以变量i不一定要从1开始 它可以从80开始 for举个例
  • 更新 R6 对象实例中的方法定义

    如何更新 R6 类实例的方法定义 正如我所期望的 S3 使用当前的方法定义 对于 R5 参考类 我可以使用 myInstance myInstance copy 在 R6 中 我尝试了 myInstance myInstance clone
  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • R在Windows平台Rstudio上打印data.frames中的UTF-8代码

    当数据框中存在UTF 8字符时 将无法正常显示 例如 以下内容是正确的 gt U6731 1 朱 但是当我将其放入数据框中并打印出来时 它是 gt data frame x U6731 x 1
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 当设置 coord_fixed 时,ggplot/shiny 中的鼠标悬停坐标是错误的

    我正在使用问题中的答案 当您将鼠标悬停在闪亮的 ggplot 上时出现工具提示 https stackoverflow com questions 27965931 tooltip when you mouseover a ggplot o
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • 使用点阵个性化 R 上显示的 X 轴值

    我收集了大量包含日期 客户端及其 NFS 使用情况的数据 我正在使用lattice R包进行绘图 正如对超级用户的建议 https superuser com questions 523195 plot custom log data on
  • R:如何将字符/数字转为1,NA转为0?

    有没有一种简单的方法可以将列的字符 数字变为 1 将 NA 变为 0 这里有一些示例数据 我想将其应用于 3 4 structure list Item Code c 176L 187L 191L 201L 217L 220L Item x
  • R 中 SVG 图形的最佳设备? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想从 R 导出 SVG 图形 似乎有两种选择 RSvgDevice 和 Cairo 有人可以对这些包发表评论吗 是默认的还是明显比另一个
  • R - 基于列名称的子集

    我的数据框有超过 120 列 变量 我想根据列名称创建子集 例如 我想创建一个子集 其中列名称包含字符串 心情 这可能吗 我一般用 SubData lt myData grep whatIWant colnames myData 我很清楚
  • 计算 R 行中的非零条目数

    我有以下类型的数据 mode1 mode2 mode3 1 8 1 0 2 0 0 0 3 6 5 4 4 1 2 3 5 1 1 1 数据使用dput structure list mode1 c 8L 0L 6L 1L 1L mode2
  • 在 R 上安装 TDA 包时出错:目标“diag.o”的配方失败

    使用 Ubuntu 16 04 和 R 3 4 1 安装 R 包 TDA 时收到错误消息 它似乎与制作 CGAL diag cpp 和 或 diag o 最后的完整错误打印输出 有关 我仔细看了这个 在 R 上安装 TDA 包时出错 htt
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • R:改变堆积条形图的颜色

    library ggplot2 df2 lt data frame supp rep c VC OJ each 3 dose rep c D0 5 D1 D2 2 len c 6 8 15 33 4 2 10 29 5 head df2 g
  • 使用“assign()”为列表项分配值

    首先了解一些背景 我写了一个中缀函数 本质上取代了这个习惯用法 x length x 1 lt y 或者简单地说x lt append x y 对于向量 这里是 lt function x y xcall lt substitute x x
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d

随机推荐

  • JavaScript 中的 MAC 地址

    我知道我们可以通过 IE ActiveX 对象 获取用户的 MAC 地址 有没有办法使用JavaScript获取用户的MAC地址 我同意之前的所有答案 如果您能够直接从 Javascript 执行此操作 这将是一个隐私 安全漏洞 我能想到的
  • MSIE 10、网页字体和字体功能设置导致文本不可见

    我认为这确实是 Microsoft Internet Explorer 10 中的一个错误 但我在任何地方都找不到该问题的任何解释 问题的现场演示可以在以下位置找到http jsfiddle net 37Bu5 http jsfiddle
  • SBT测试中出现奇怪的异常

    我面临 SBT 版本 0 13 9 的问题 我的 ScalaTest 测试之一失败 不确定性EOFException 堆栈跟踪 Exception in thread Thread 155 Exception in thread Threa
  • 两个同名字段

    我有一个 ViewModel 类来封装 个人 和 业务 模型 我的问题是 两个模型都有一个名为 电子邮件 的属性 并且模型绑定无法区分两者 我读到了 Bind Prefix 用于解决此问题 但我还没有看到有关如何实现此目的的简洁示例 pub
  • 在另一列之后添加列

    如何使用 Alembic 或 SQLAlchemy 将一列又一列添加到数据库中 那相当于这个 SQL 子句 https stackoverflow com a 2934335 2100933 ALTER TABLE foo CHANGE C
  • 自动测试问题

    我刚刚安装了 Zentest 4 4 6 其中包括自动测试 4 4 6 当我运行自动测试时 出现以下错误 gems ZenTest 4 6 0 lib autotest rb 226 in autodiscover undefined me
  • 科尔多瓦建造|运行失败 -compileDebugJavaWithJavac

    我在构建我的项目时遇到问题安卓平台 on 阿帕奇科尔多瓦 版本号 Android 5 0 1 三星 Galaxy S4 Cordova 6 1 1 于 2016 年 7 月 4 日从 5 1 1 更新 离子 1 7 14 Windows 7
  • 如何在MySQL中实现关键字搜索?

    我是 SQL 编程新手 我有一个表作业 其中的字段id position category location salary range description refno 我想实施一个关键词搜索从前端 关键字可以驻留在上表的任何字段中 这是
  • 如果初始帧是 CGRectZero,则自定义 UIView 的 drawRect 永远不会被调用

    我有一个非常简单的 UIView 自定义子类 import BarView h import
  • 为什么 Tensorflow 文档中没有提及 contrib.layers.linear?

    我试图理解其他人的简单张量流模型 他们使用 contrib layers linear 但是我在任何地方都找不到有关此内容的任何信息 并且张量流文档中也没有提及 The tf contrib layers模块有API文档here https
  • 如何将 Oracle 中一个表的分区导入到另一个表中?

    我想知道以下步骤是否可行以及速度有多快 在表A中创建名为part1的分区 删除表B中的分区part1 将表A分区part1导入表B 如果确实可能的话 你能为我提供一个例子吗 或者有什么资源可以看吗 请注意 这些表将具有完全相同的结构 你可以
  • 在贝塞尔曲线路径上移动对象

    我想在贝塞尔曲线路径上从上到下移动图像 但我不知道如何计算该路径的 x y 点和斜率 该路径如下图所示 我有起点 终点和两个控制点 Path path new Path Point s new Point 150 5 Point cp1 n
  • 如何让puppeteer浏览器保持在后台运行而不跳转到前台?

    使用时puppeteer通过a抓取一堆网站for loop 每当创建一个新页面时 浏览器就会跳转到前台 这妨碍了我在计算机上做其他事情 即使我设置了以下参数 它仍然不起作用 那么我怎样才能让浏览器安静地运行而不跳到前台并打断我呢 我需要跑进
  • 如何在 mPDF 中设置自定义页面尺寸?

    我需要一些有关 mPDF 的帮助 我想设置我的自定义页面尺寸 确切地说 宽度 49 毫米 高度 200 毫米 但我找不到解决方案 我找到了 mPDF 手册 http mpdf1 com manual index php tid 184 ht
  • Pyside安装错误

    我有 32 位 Windows 7 操作系统 今天 我尝试下载 PySide 安装程序 但是 在我尝试运行下载的文件后 出现以下错误 PySide 安装程序无效或损坏 为什么我会得到这个 我最近开始了一门关于使用 Qt 框架使用 Pytho
  • Matplotlib 添加默认水印

    我在用着matplotlib对于工作和公司来说 政策是在我们制作的每个图上都包含水印 有没有办法设置matplotlib默认情况下执行此操作 我目前正在通过每个Axes对象到辅助函数中 该函数在左下角添加水印 import matplotl
  • 如何隐藏/显示UIimageview?

    void viewDidAppear BOOL animated super viewDidAppear animated CGRect viewRect CGRectMake 250 100 30 30 as UIImageView al
  • “政党模式”背后的原则和好处是什么?

    派对模型 是关系数据库设计的一种 模式 它至少有一部分涉及找到许多实体 例如客户 员工 合作伙伴等 之间的共性 并将其分解到一些更 抽象 的数据库表中 我想了解您对以下问题的想法 政党模式背后的核心原则和动力是什么 它规定您对数据模型做什么
  • hadoop pagerank运行时出现错误

    我已经在我的 vmware 上安装了 hadoop 并设计了我的 jar 文件 pagerank 运行以下命令 hadoop jar PageRank 1 0 0 jar PageRankDriver init 输入输出 2 出现以下错误
  • R 如何在另一个函数中将函数作为字符串传递

    对于这个小难题的任何帮助将不胜感激 我正在尝试向tq transmute函数从tidyquant包裹 参数的值是一个函数 但是我想将其作为字符串传递 在下面示例的范围内 我将通过 Shiny 传递它 selectInput 我已经尝试了所有