问题标签 [r-glue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
497 浏览

r - 使用单引号和双引号混合创建粘合字符串

我正在尝试使用包含“单”“双”引号的glue包创建R 一个字符串。

作为代表,请考虑SQL我要构建的以下类型的查询字符串:

如您所见,它是单引号和双引号的组合,如上文所述,按字面意思保存很重要。例如,tab2."MV"有双引号,并且tab1.start_date::date - integer '7' AND tab1.start_date::date - integer '1'有需要按字面保留的单引号。

这个字符串也需要使用参数来构建。R我在using中尝试了以下操作glue,但无法正常工作。

不幸的是,由于单引号/双引号在glue::glue(...).

任何人都可以在这里协助以最少的中断所需的输出字符串吗?我不确定这是否容易实现。我将不胜感激任何其他tidy方法,例如使用stringr以及例如,因为我希望这是%>%友好的。我已经简要地查看了glue::glue_sql但不知道如何在这里直接应用它。如果适用,我将不胜感激在这里学习如何使用它。

0 投票
0 回答
50 浏览

r - 创建一个 for 循环以使用一系列变量实现 ggplot2。将所有内容视为缺失值

chr我正在尝试开发一个循环来绘制名为

如果我手动保存,例如:

当我跑步时它完美地绘制

按预期绘制

但是当我在运行循环后运行绘图时,也使用 plot_list[ 1 ],它显示所有值都丢失并且只显示此绘图,并带有此警告消息:删除了 142 行包含缺失值(geom_point)。

带有缺失值的绘图

可能出了什么问题?提前感谢您帮助我

0 投票
1 回答
27 浏览

html - 如何从 r 中的 data.frame 列创建 html 文本条目列表(没有循环)?

想象一下我有这个df

以及我想用于这样的 HTML 的某种文本块基础(df 列名在括号中):

我想得到一个这样的列表或集合:

我可以想象遍历 data.frame 的每一行,然后使用胶水函数,但似乎应该有一个简短的或 1 行的解决方案。可能吗?

0 投票
2 回答
132 浏览

r - 胶水和rlang:如何在胶水字符串中隧道数据变量?

根据本文,最新版本的rlangandglue允许将隧道组合{{ myobj }}成一个glue字符串:

但如果我想在等式的另一边结合,我不能这样做:

解决这个问题的最佳方法是什么?

0 投票
1 回答
123 浏览

r - 用胶水补零

我想用来glue完成sprintf('%02d', x),但我不确定这是否可能。

vignette('transformers')建议一个sprintf类似的变压器sprintf_transformer和“前端”包装器glue_fmt,如下所示:

然后举一个简单的例子:

这似乎依赖惰性评估将调用pi:.2(这是有效的 R 语法)拆分为对sprintf:的调用sprintf('%.2f', pi)

然而,在我看来,这对于 0 填充的情况是不可能的,因为 R 解析器将消除任何前导 0:

查看sprintf_transformer,f是硬编码的,因为02dand.2f本身不是有效的 R 语法。我想我们可以glue_fmtdglue_fmtfsupply or 添加一个参数'd',但与 plain 相比'f',这已经使便利因素变得紧张了。glue_fmtsprintf

这仍然无法克服 R 解析器的基本约束——一旦02被视为 R 代码,解析器将丢弃前导 0。

所以,我被困住了——是否有可能以glue一种不太复杂的方式来使用零填充格式?

0 投票
0 回答
51 浏览

r - 在函数 R 中使用胶水为多个站点创建动态 IP 地址

我试图通过在我的 R 代码中使用函数来避免大量重复自己(复制/粘贴)。我有一个如下的工作函数,但我不知道如何在函数内为不同的站点构建 IP/文件路径地址。我的问题是如何在每个站点上粘贴唯一的用户名。

希望当您阅读下面的代码和其中的注释时它是有意义的。对任何混淆表示歉意,我发现很难尽可能简单地解释

0 投票
2 回答
1767 浏览

r - 将变量传递给 tidyr::pivot_wider 的 names_glue 参数

以下是我们使用两个名称更广泛地透视的一些愚蠢数据:

如果我们想改变新变量名的格式,例如,从toyota_yesto yes_toyota,我们使用names_glue参数:

我面临的问题是找到将变量名传递给names_glue参数的正确语法。将变量传递给 很容易names_from,例如:

但我们不能直接这样做names_glue

错误:列名car_binarycar_binarycar_binary不得重复。

大概它正在评估变量并将结果字符串(即“汽车”或“二进制”)传递给胶水函数。我玩过一些我通常用于整洁评估的东西(!!sym(...)等),但没有任何工作。所需的输出如下,使用names_glue参数的变量:

这是将 names_glue 参数添加到 pivot_wider 的提交——尽管我真的不知道如何解决这个问题。

0 投票
2 回答
420 浏览

r - R 在胶水语句中使用 bang-bang

我想制作一个简单的函数,该函数采用数据框和用户为该数据框中的两列提供的名称。目的是允许它轻松地与dplyr管道一起工作。它将生成粘合字符串的字符向量:

理想情况下,我希望用户能够调用:

这将产生一个包含多个值的字符向量,格式为Smith, John.

我的功能目前不起作用,因为 bang-bang 运算符在glue_data. 如何在仍然使用 NSE 的同时解决这个问题?我收到的错误是:

Error: Quosures can only be unquoted within a quasiquotation context.

代表:

预期输出

但是,我希望能够通过使用我的函数并调用来实现预期的输出:

以上是我实际用例的简化版本,我实际上将glue在后续函数中将该语句作为参数调用:

0 投票
4 回答
254 浏览

r - 将 dplyr::across 与两组变量一起使用

我有两组变量,例如 variablea和 variable a_avail。我正在尝试根据 的值更改 的a值,a_avail并且想知道这是否可以使用acrosswith来完成glue

这是我尝试过的。没有产生错误,但胶水似乎没有拾取 的值,.x_avail因为所有返回的值都是 NA:

reprex 包(v0.3.0)于 2021-02-12 创建

0 投票
2 回答
100 浏览

r - 模式中允许的具有有限功能集的 R 胶水?

glue()用来格式化字符串。理想情况下,我想给用户提供他自己的、可能复杂的格式模式的选项。这些通常作为 yaml 配置文件的一部分分发,该文件还包含许多其他设置。

glue但是,由于语句可能执行任意代码,因此存在安全风险。下面的例子当然是良性的。风险之所以存在,是因为用户可能会在没有详细研究的情况下下载和使用复杂的配置文件,并且不良行为者可能会分发邪恶的配置文件。

但是我知道glue_safe这比我想要的更严格。理想情况下,我想提供允许的功能列表

并只允许使用那些指定的。有没有办法做到这一点?