问题标签 [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.
r - 我们可以在 knitr kable 函数中使用胶水函数吗?
我有多个表集(表集 1,表集 2,...),所以我想创建一个函数:
- 编织我的桌子(在 R 降价中)
- 并根据我正在使用的表格集自动更改表格标题
下面是我创建的函数,但是当我运行该函数时,它会返回给我:
- 一张桌子(我期望的)
- 一行
[1] "1"
(我不知道这是什么以及为什么函数返回此行)
你能帮我解释一下那行以及如何删除它吗?
您可以使用以下代码进行复制
r - 有没有办法解析胶水里面的变量
我正在尝试使用 R 中的胶水包解析变量。但看起来有些问题。谁能帮忙
由于我在这里的变量将来会是反应性的,我正在尝试使用胶水解析它.................................. …………………………………………………………………………
预期产出
我正在尝试使用 R 中的胶水包解析变量。但看起来有些问题。谁能帮忙
由于我在这里的变量将来会是反应性的,我正在尝试使用胶水解析它.................................. …………………………………………………………………………
r - 在带有胶水包的 gtsummary 中使用“modify_caption”时在表输出中显示变量名称
我想编写一个使用dplyr::select()
,gtsummary::tbl_summary()
和的代码glue::glue()
。
计划是:
- 从数据框中选择一些变量(例如:所有数值变量)
- 返回基于分组变量(因子变量)的表摘要
- 在表格中,标题应显示分组变量
我将使用gapminder数据集来演示错误。
预期的表是
下面,我演示一下我所做的
首先,我加载库
并写下我的功能
但我需要使用'continent'
(见下面的代码)。它像我想要的那样工作。
但是,我的首选是不使用连字符,即使用 describe_grp(group = continent)
.
所以我想我可以使用
enquo()
- 或
{{ }}
卷曲的卷曲
但是,两者都不起作用。我猜它与glue::glue()
函数有关modify_caption()
有关不起作用的代码,请参见下文:
这些代码也不起作用
r - 将胶水对象粘贴在一起循环运行
我试图在 for 循环中将两个胶水串粘贴在一起,但我没有得到想要的结果。例如,在复制示例中,我有两列,我想先循环第一列(一次)并在第二列的每个值上应用函数(x),依此类推,但是胶水代码运行第一列(一次又一次)-功能(第二列)。
到目前为止,我觉得这个问题令人困惑,希望下面的示例可以帮助澄清我的问题。
这会产生如下所示的结果(循环的第一部分一遍又一遍地重复
但是我想产生如下结果,但我不确定我错过了什么
r - 对齐多行“胶水”表达式
我正在使用{glue}
包来编写表达式,然后我将其解析并显示在 ggplot2 注释中。
但是,如果我有一个多行表达式,它们不会垂直对齐。我怎样才能实现这样的对齐?我以为atop + displaystyle
会这样做,但事实并非如此。
r - 如何用胶水自动化日期刺痛
我正在尝试自动化 DateTime 以始终在 t+1 上生成报告
所以我做了
df 中的日期格式如下 2021-12-21 23:59:52 2021-12-21 21:37:50 2021-12-21 19:41:18 2021-12-21 19:21:36 2021 -12-21 19:15:41 2021-12-21 19:15:36
所以每当你看到{昨天}
我想过滤 DateTime
所以我做了
但我在下面收到此错误
我知道问题是胶水::胶水有人可以帮我重新安排我的代码吗
r - 从数据框中提取顶部正负值并使用 R 将它们填充到格式化文本中
我正在尝试提取价格上涨和减少最多前 3pct_change
列的材料信息。
数据:
我的预期结果将是一段文字,如下所示:
我的试用代码有效,但不简洁,有人可以分享其他更有效的解决方案吗?谢谢。
更新了文本模板以考虑pct_change
所有负值或正值或少于 3 个正值和负值的情况:
如果
pct_change
值都是正数:'所有 {n} 种商品价格上涨,涨幅最大的前 3 名分别是:{top3[[1L]]}、{top3[[2L]]} 和 {top3[[3L]]}。
如果
pct_change
值都是负数:'所有{n}种商品价格下跌,跌幅最大的前3名分别是:{top3[[1L]]}、{top3[[2L]]}和{top3[[3L]]}'
如果正值、零值和负值
pct_change
都存在,我将设置 n1_1、n2_1 和 n3_1 用于计数,设置 n1_2、n2_2 和 n3_3 用于获取最大值为 3 的前 n:'我们有 {n1_1} 个价格上涨的商品,涨幅最大的 {n1_2} 个商品是:{top3[[1L]]}、{top3[[2L]]} 和 {top3[[3L]]};\ {n2_1}种价格保持不变的商品,包括:{same3[[1L]]}、{same3[[2L]]}、{same3[[3L]]};\ {n3_1}个价格下跌的商品,前{n3_2}个跌幅最大的是:{bot3[[1L]]}、{bot3[[2L]]}和{bot3[[3L]]}。
最终代码,由@ekoam 提供:
出去:
r - 引用 R 函数中引用的列名
我想在用户定义的函数中使用na_omit
折叠包中的函数。na_omit
要求将列名放在引号中作为其参数之一。如果我不需要引号中的列名,我可以只引用双括号中的列名{{col}}
,如本小插图“使用 dplyr 编程”中所述。如果我使用胶水包引用列,例如glue::glue("{col}")
,我收到错误。
这是一个代表:
可以使用以下命令生成预期的输出:
并且应该产生:
我应该如何在 R 中的用户定义函数中引用作为参数和函数参数的引用列名?
r - 在函数中使用glue_data() 适用于某些列名,而不适用于其他列名
我正在开发一个函数,该函数将数据框和用户指定的列作为输入,并使用glue_data() 输出一些格式良好的文本。
变量是否有效似乎是抽签的运气,但每次尝试都是一致的。例如,对于 mtcars,mpg 始终有效,而 hp 从不:
这不是哪个变量进入att1
vs的函数att2
我发现 if-else 是问题所在,但不知道如何解决。它被插入是因为我不能只有一个空参数——这使得glue_data()
返回一个 0 字符的字符串:
我已经尝试过使用 in 函数中的参数的其他方法glue_data()
,例如this answer。但中心问题似乎与 if-else 有关。
我想知道那里发生了什么?即使有办法解决这个问题glue
,我也会对为什么解析适用于某些列而不是其他列感兴趣!
感谢您的帮助!
r - 如何使用胶水或r中的任何包将值和名称从表中输入大括号
我有一张表,我想使用那里的信息与下面使用胶水包编写的内容混合,或者如果 r 中有其他包可以更好地处理这种情况,我愿意接受建议
第一张桌子
客户 | 平均 |
---|---|
支付网络 | ₦373.57 |
看护人 | ₦321.20 |
球员 | ₦306.57 |
青铜 | ₦316.58 |
第二张表
支付网络 | 看护人 | 球员 | 青铜 | |
---|---|---|---|---|
低于平均水平 | 23% | 50% | 60% | 90% |
高于平均水平 | 77% | 50% | 40% | 105 |
我想要的是创建一个场景,一旦在大括号中调用变量名,那么他应该使用 Glue 包或任何其他可以完美完成工作的包输入大括号中调用的值。
这就是我想要实现的
在这里,我希望从表中调用每个事务的两个最高平均值以输入大括号所在的位置
例如,{Minders} 和 {Play Network} 的每笔交易价值最高,但大约 {23%} 和 {50%} 的客户在 2 月份的总体购买量低于平均水平
输出当然不会显示大括号。我只是以它为例,主要输出将如下所示
Minders 和 Play-Network 的每笔交易价值最高,但在 2 月份,大约 23% 和 50% 的客户的总购买量低于平均水平