- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
也许我遗漏了什么,但是如果下面的代码是我的 Rmd 文件的内容
```{r}
library(reticulate)
use_virtualenv("r-reticulate")
py_available(TRUE)
```
```{python}
a = 7
print(a)
```
```{r}
py$a
```
当我编织文件时,最后一个 block 的输出是 7(如预期的那样)。另一方面,单击 Rstudio 中的全部运行按钮(或一个接一个地运行 block ),最后一个 block 的结果为 NULL
。
与 R notebook example 相比似乎在 python block 中为 flights
分配一些东西应该使 py$flights
可用于 R,但事实并非如此。
问题:
编辑:好的,所以在看到这里的第一个答案后,我确实将 knitr 和 rmarkdown 都更新到了最新版本,但仍然遇到同样的问题。我将 py_available(TRUE)
添加到我的文件以确保它已初始化,仍然,最后一个 block 在编织时产生 7
,但是一个接一个地运行 block 导致
> py$a
Error in py_get_attr_impl(x, name, silent) :
AttributeError: 'module' object has no attribute 'a'
问题是:在 python block 中为 a
赋值不会对 R 环境中的 py$a
做任何事情。也许 R 和 python 之间的这种“共享”环境不是包应该如何工作?另外,对于一些额外的信息
> py_config()
python: /usr/bin/python
libpython: /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so
pythonhome: /usr:/usr
version: 2.7.14 (default, Sep 23 2017, 22:06:14) [GCC 7.2.0]
numpy: /usr/lib/python2.7/dist-packages/numpy
numpy_version: 1.12.1
python versions found:
/usr/bin/python
/usr/bin/python3
最佳答案
Rmarkdown/knitr:
运行 block :
目前不支持在不编织文档的情况下运行 block 。看这里:https://github.com/yihui/knitr/issues/1440或 Reticulate not sharing state between R/Python cells or Python/Python cells in RMarkdown .
编辑:Freguglia 的解决方法:
“解决方法是将 python block 转换为 R block ,并将整个内容包装在 py_run_string() 函数中,因此无论您在该段代码中分配什么,都可以通过 py$variable_name 从 R 访问。”
编织文档:
一种方法是按照上面的建议升级 knitr
,但您不必这样做,也不需要 RStudio 每日构建。
如果你有 1.18 之前的 knitr 版本,你可以包括:
```{r setup, include = FALSE}
,看这里:https://rstudio.github.io/reticulate/articles/r_markdown.html#engine-setup .
knitr::knit_engines$set(python = reticulate::eng_python)
```
python :
如果它不起作用,请确保 python 连接在 rmarmdown/knitr 之外运行:py_run_string("x = 10"); py$x
.
如果这也不起作用,您应该检查:py_available()
和 py_numpy_available()
。
如果它返回 FALSE
:尝试用 py_available(TRUE)
初始化它。
如果还是不行——检查你的配置:py_config()
它将为您提供有关该问题的进一步提示:
我的例子是:R 和 python 的不同位版本(32 对 64)或者我在安装 Python2.7 和单独的 Anaconda 时遇到了麻烦。
关于python - Reticulate - 在 Rmarkdown 中运行 python block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49503195/
我正在尝试使用此示例将 3 个文件编织在一起:http://rmarkdown.rstudio.com/rmarkdown_websites.html 我的文件都共享同一个目录,该目录已在 RStud
我正在将 Rmarkdown 与 python 一起使用。相当于R python的内联代码? 例如,在 https://rmarkdown.rstudio.com/lesson-4.html我可以 `
我正在用 Rmarkdown 编写一系列相互补充的报告。我想将上一份报告的结果包含在我目前正在处理的报告中。我看到其他问题建议使用 purl 从 Rmarkdown 文档中提取 R 代码然后运行它,所
我想演示如何编写 RMarkdown,其中所说的 RMarkdown 演示嵌入在用于创建类(class) Material 的 RMarkdown 文档中。在这个围栏代码块中,我不希望 knitr 执
我在 Amazon AWS EC-2(Amazon Linux AMI 2015.09.1 (HVM),SSD Volume Type - ami-60b6c60a)上安装了一个 Shiny 的服务器
我刚刚开始使用 rmarkdown、pandoc 和 knitr。我在尝试让 pandoc 获取比 rmarkdown 文档高一级的图像时遇到了很多困难。例如,考虑我们的项目目录是 ~/test,下面
我希望将 Bootstrap 导航栏(如此处所示:https://getbootstrap.com/docs/4.0/components/navbar/)添加到我正在创建的 R Markdown 模
我正在尝试通过 Rmarkdown 并排打印两个表格,输出为 PDF。 我可以很好地打印这些表格,但它们最终靠得很近,我找不到在它们之间创造更多空间的方法。我在其他帖子中找到的解决方案返回奇怪的输出或
我报告了一个问题 https://github.com/rstudio/rmarkdown/issues/967我想知道是否有解决方法(如何使其工作)? 下面的可重现示例(改变 n 和 nGroup
我正在将 Rmarkdown PDF 文档与以下 YAML 设置放在一起: --- output: pdf_document: fig_caption: true fig_crop
我有类似于以下的代码,它是动态生成并存储在变量中的: --- title: "test" author: "me" date: "3 June 2019" output: html_document
我经常编写可供技术人员和高管阅读的 Markdown 文档。 从这个意义上说,我想知道是否可以在 HTML 中创建一个按钮来隐藏或显示最终输出中的代码块? 目前,我正在创建两个单独的文件,我认为这是一
我正在使用 rmarkdown 在 RStudio 中进行投影仪演示。我想在演示文稿的顶部获得幻灯片代码。德累斯顿主题应该支持那些股票 Dresden 那么是否有可能通过使用 rmarkdown 来获
我有一个简单的问题。我如何使用 Rmarkdown/knitr 创建词汇表。我与 RStudio 合作。 我尝试这个但没有成功 \usepackage{glossaries} 在 header.tex
我有R包,它的功能之一-产生报告。在inst/markdown中,我有一个模板rep.rmd。在包函数ProduceReport()中,我有以下代码: render.file <-"rep.Rmd
嗨,我想在我的 Rmarkdown 文件的一侧添加一个页面导航。如果它看起来像侧边栏就好了 on this page . --- title: "My Title" author: "My Name"
当我为学生准备教程时,我需要一种方法来隐藏可折叠面板中的内容,这些面板可以通过单击按钮来显示。我已经使用下面的代码让它工作了。 RMarkdown 文件如下所示: --- title: Collaps
我最近开始使用 r-markdown使用来自 rticles 的便捷模板准备期刊文章.但是,我们最终使用 Word 而不是 LaTex 提交。合作者更喜欢 Word,目前,并非所有期刊都接受 LaTe
我有两个 RMarkdown 文件。 main.Rmd这是渲染的主文件 example.Rmd它包含更长的示例并在其他地方使用(因此它存在于自己的文档中)。 我想包括example.Rmd在 main
在我的 R 文件中,我有: library(rmarkdown) rmarkdown::render("C://Users//me//Desktop//test_param.Rmd",
我是一名优秀的程序员,十分优秀!