带有用户输入的knitr

2024-06-18

我正在使用 R markdown 并使用 Rstudio 来 Knit。

我有以下 R markdown 文件:

---
title: "Untitled"
author: ""
date: ""
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
#Load libraries
library(knitr)
library(ggplot2)
library(reshape2)
library(chron)
library(gridExtra)

#Get current directory
directory = getwd()
setwd(directory)

readname = function()#prompt user for the name and number of the site
{ 
  n <- readline(prompt="Site name and number: ")
  return(n)
}
prjName=readname()
print(prjName)
prjName2="TEST NAME"
prjName2

该代码要求用户提供站点名称和编号。我可以在 R markdown 中运行该块,并通过控制台获取用户输入并打印出来。它也作为字符串存储在全局环境中。然而,当我编织文档时,我得到以下结果:

看来,在编织文档时,我无法打印用户输入的字符串......

任何对此的帮助将不胜感激。


正如内森在评论中所说,你不能使用readline获取输入knitr文档,因为它不是交互式的。但是您可以使用“参数化报告”获取用户输入(请参阅http://rmarkdown.rstudio.com/developer_parameterized_reports.html http://rmarkdown.rstudio.com/developer_parameterized_reports.html)。例如,

---
title: "Untitled"
author: ""
date: ""
output: html_document
params: 
  prjName: "The project name"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
readname = function()# Get the project name
{ 
  params$prjName
}
prjName=readname()
prjName

如果你只是编织这个文件,它会将 prjName 设置为“项目名称”。如果您单击“使用参数编织”(或设置params = "ask"在打电话给rmarkdown::render),系统将提示您输入该值,并将该值作为默认值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有用户输入的knitr 的相关文章

  • dplyr 中 select() 的 contains() 和 matches() 之间的区别

    我决定花一些时间彻底学习dplyr 我刚刚遇到select 函数以及它附带的一些辅助函数 通过只是玩弄 我没能发现两者之间的任何区别contains and matches辅助功能 有人可以提供一个例子来说明如何将它们用于不同的目的吗 谢谢
  • 使用不同比例的累积分布曲线 (ECDF) 创建 ggplot2 直方图

    使用 ggplot2 我可以使用以下代码创建具有累积分布曲线的直方图 但是 那stat ecdf曲线缩放至左侧 y 轴 library ggplot2 test data lt data frame values replicate 1 s
  • 将 df 拆分为多列的 **tidyverse** 方法是什么?

    我想将数据框分成多列 以便我可以看到summary 数据每个子集的输出 这是一种使用方法来做到这一点split from base library tidyverse gt Loading tidyverse ggplot2 gt Load
  • 如何在 R tidyverse 中转换列类型

    我试图熟悉 Tidyverse 的使用 但数据类型转换被证明是一个障碍 我知道自动将字符串转换为因子并不理想 但有时我想使用因子 因此一些可以轻松地将 tibble 中所需的字符列转换为因子的方法将非常好 我更喜欢使用 readxl 包读取
  • 如何用R创建时间散点图?

    数据是一系列日期和时间 date time 2010 01 01 09 04 43 2010 01 01 10 53 59 2010 01 01 10 57 18 2010 01 01 10 59 30 2010 01 01 11 00 4
  • 如何在ggplot2中正确使用facet_grid?

    我试图使用以下代码为每个配置文件生成一个图表 但我不断收到 至少一层必须包含用于分面的所有变量 错误 我花了最后几个小时试图让它发挥作用 但我做不到 我相信答案一定很简单 有人可以帮忙吗 d structure list category
  • 如何找出正在使用哪个(版本的)函数?

    问题 如何找出正在调用的函数的版本 例如 如果我使用unique在 data frame 上 我假设我正在使用unique data frame 然而 没有unique raster函数 虽然有一个raster unique 但如果我使用
  • 约束优化 R:另一个例子

    我正在尝试在 R 中执行约束优化 我已经查看了这些帖子和其他一些帖子 R 中的约束优化 https stackoverflow com questions 5436630 constrained optimization in r R 中的
  • 删除数据框值的后缀

    我有一个这样完成的数据框 a b c 1 2011 mal ID9 2 2012 yesterday ID10 3 2010 misch ID10 4 1995 ship ID9 5 2008 se ID9 6 1998 falling I
  • 具有变化比例的 gganimate(轴限制)

    我想使用创建一个 gifgganimate 但我的轴范围在一帧中变化很大 这导致所有后续帧都被挤压 In ggplot2的方面 有一个选择scales free 有没有办法让每一帧都有自由比例gganimate 这是一个例子 library
  • 绘图不适合 R 窗口

    我正在使用metaR 中的包对比例进行荟萃分析 我的分析中有大约一百项研究 当我打字时forest result 创建我的森林图 它可以工作 但图形在顶部和底部被切掉 无论我做什么 它都不适合绘图窗口 我对如何解决这个问题感到困惑 有任何想
  • 零膨胀泊松分布的经验和理论分布图

    以下是我正在研究的一种数据集 data lt c 0 1 0 11 2 0 3 0 0 2 1 3 1 0 1 0 0 0 2 3 0 0 0 8 1 1 1 0 1 1 2 7 0 0 0 5 2 3 6 1 1 5 2 9 0 0 1
  • 为什么 ggplot2 图例不结合手动填充和缩放值?

    预期行为 如果我用 ggplot2 创建一个绘图并使用单独的形状和填充比例来描绘数据 我希望图例会在 白色 填充点 看起来是空心的 和 黑色 填充点 看起来不空洞的 在下面的示例代码中 Windows 的图例项应为白色空心点 Linux 的
  • 保存/加载 data.table 的最快方法

    我想做的实际上是使用最快的可用方法来存储data table以便进一步处理 大致如下 从 CSV RDS 读取原始数据 将其转换为data table 将其保存为针对重新读取而优化的格式 RDS 似乎不适用于data table 是对的吗
  • 不同大小组的高效递归随机抽样

    这个问题是我之前关于递归随机抽样问题的后续问题高效的递归随机采样 https stackoverflow com questions 69824065 efficient recursive random sampling 当组大小相同或每
  • 在 R 中将本地日期时间转换为 UTC

    如何将本地日期时间转换为以下格式 12 31 2014 6 42 52 PM R 中的 UTC 我试过这个 as POSIXct as Date 12 31 2014 6 42 52 PM format m d Y H M S tz UTC
  • 抑制 r markdown 中的控制台输出,但保留绘图

    嗨 我有以下降价块 r echo FALSE warning FALSE message FALSE error FALSE lapply obj function x plot x main some plot box axis 1 at
  • 不同的分位数:箱线图与小提琴图

    require ggplot2 require cowplot d iris ggplot2 ggplot d aes factor 0 Sepal Length geom violin fill black alpha 0 2 draw
  • 使用 roxygen2 记录数据集

    我正在尝试使用 roxygen2 记录 R 包中的一些数据集 仅考虑其中之一 I have mypkg data CpG human GRCh37 RDa 其中包含一个名为的对象CpG human GRCh37 和一个名为 mypkg R
  • 哪种 LaTeX 包与 knit 一起使用以获得更多的表格控制?禁忌?

    我正在用 knitr 写一张更长的桌子xtable和tabular environment longtable 在 longtable 包中时print将它们纳入我的 Rnw file 问题是我对longtable环境控制不够 我有一些文本

随机推荐