r - 如何使用参数编织 rmd 并选择多选输入作为分组依据的输入?

标签 r parameters markdown

我正在尝试使用参数创建 rmd 报告。

---
...
output:
  html_document:
params:
  features:
    label: features
    value: ""
    input: select
    multiple: TRUE
    choices: [blue, red, green, yellow]
---

然后我想使用这些特征作为分组变量。

df %>%
  group_by(params$features) %>%
  summarize(x = sum(x))

但是但是当我打印出来

params$features
## [1] "blue" "red" "green" "yellow"

...

这是错误代码

Quitting from lines 65-74 (clustern.rmd) 
Error: Problem adding computed columns in `group_by()`.
x Problem with `mutate()` input `..1`.
ℹ `..1 = params$features`.
ℹ `..1` must be size 1163210 or 1, not 3.
...

我确信这个问题并不难解决,但我在网上搜索没有成功:/

希望有人能解决这个问题,谢谢!!

最佳答案

由于这些是字符元素,更简单的选择是在 group_by 中使用 across

library(dplyr)
df %>% 
   group_by(across(all_of(params$features))) %>% 
   summarise(x = sum(x, na.rm = TRUE))

关于r - 如何使用参数编织 rmd 并选择多选输入作为分组依据的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70686770/

相关文章:

r - 将包含同名对象的多个 .RData 文件合并为一个 .RData 文件

intellij-idea - 将 Markdown JSX 语言注入(inject)添加到 IntelliJ

linux - 使用 SED 命令删除 Markdown 文件中的代码块

swift - 在 Swift 中有选择地将类的属性传递给类方法

powershell - 如何在 native 不支持的powershell参数中使用通配符?

parameters - ninject 2.0 中基于参数的绑定(bind)

markdown - 内联 mathjax 公式后不需要的断字

R plotly : 3D surface reverse x-axis

r - 有没有办法在 R 中声明函数参数类型?

r - 对矩阵列表求和,对 NA 的两个约束