【发布时间】:2021-06-28 19:27:35
【问题描述】:
我正在测试使用参数化的 RMarkdown,使用 c 作为参数。我正在使用Knit with parameters 选择a 或b,或者默认情况下选择a。
我希望获得 2 或 5 作为平均值,但我总是获得 3.5,这是全局平均值。
我在这里做错了什么?
---
title: "Parameterized RMarkdown"
output:
html_document: default
params:
c: "a"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
library(knitr)
```
```{r mean, echo=FALSE}
df <- tibble(c = c("a", "a", "a", "b", "b", "b"),
x = c(1, 2, 3, 4, 5, 6))
mean(df$x)
```
【问题讨论】:
-
Where are you
filteringdf$x正在提取整列 'x' -
我认为使用参数过滤器。 c:“一个”
-
您需要在代码中使用
params$c。见bookdown.org/yihui/rmarkdown/params-use.html -
考虑使用
df %>% filter(c == params$c) %>% summarise(x = mean(x)) -
(换个角度看这个……想想一个有点复杂的 rmarkdown 文档,它有几个数据集和几个参数。你相信
shiny知道你打算在哪里使用参数和在哪里不使用它?我使用参数作为一种在一个代码块中过滤/修改数据集的方法,然后在另一个代码块中我不使用参数。尽管shiny的作者真的很聪明伙计们,我不知道如何正确推断参数打算使用什么以及在哪里使用。)
标签: r r-markdown parameterized