PyCharm 的 R 插件提供了使用R Markdown文件的便捷功能。使用交互式编辑器,您可以快速添加可执行的 R 代码块、运行和调试它们,并生成 HTML 输出。
该插件支持不同的降价内容:文档、笔记本、演示文稿和 Shiny(交互式降价)。
创建新的*.rmd文件时,可以选择文件类型:

每个文件都使用取决于其类型的特定标头创建:
--- 标题:“无标题”作者:<用户名> 日期:<当前日期 DD/MM/YYYY > 输出:rmarkdown::html_vignette ---
此标头用于在 HTML 文件中呈现输出。要修改默认标题,请在项目Settings/Preferences中编辑 R Markdown 模板。
在 R Markdown 文件中,您可以根据Markdown 语法和一些可执行代码块添加任何上下文。
添加代码块
要将新的 R 块添加到 R Markdown 文件中,请将插入符号放置在任何行或代码块上,然后单击
或按Ctrl+Alt+Insert。
以下构造将添加到所选行或块下方:
```{r} ```
在块中键入任何 R 代码。
将 R 代码添加到块时,请使用代码辅助功能,例如代码完成、代码检查和快速修复。

添加代码后,可以通过装订线和块工具栏中的“运行”菜单使用执行操作。

| |
---|

| 执行当前代码块。 |

| 调试当前代码块。 |

| 执行当前块之上的所有代码块。 |

| 执行当前块下的所有代码块。 |
执行代码块
要在插入符号处执行代码块,请单击
并选择Run Chunk,或单击
块工具栏上的。
一次执行一个块时,请注意代码依赖性。例如,代码片段中的第二个块使用第一个块中定义的变量。

单击
以执行当前选定块之上的所有块,以确保初始化所有必需的变量。
您可以随时单击
以执行文件中的所有剩余代码块,或通过单击选择一次执行所有代码块
。
预览并评估在块下方呈现的执行结果。

您还可以切换到R 控制台以详细研究变量。

如果需要,单击
以清除执行结果。
您可以调试 R Markdown 文件中的可执行块以检测和修复其中的任何错误。
调试代码块
单击装订线创建断点。
在调试特定代码块之前,请确保您已经调试了所有代码块及其代码依赖项。与运行代码块类似,如果当前块中使用的任何变量尚未初始化,则无法执行调试。
单击
块工具栏。
切换到R 控制台。调试过程在断点处停止,您可以在“变量”窗口中预览当前结果。

使用调试工具栏管理调试过程。
您可以创建一个包含 R Markdown 源代码及其执行结果的 HTML 文件。
生成 HTML 输出
单击
R Markdown 工具栏。
PyCharm 创建一个与.rmd文件同名的 HTML文件。R Markdown控制台报告任务完成情况。

默认情况下,所有输出文件都存储在项目根目录中。如果需要,从R Markdown 工具栏上的输出目录列表中选择自定义,并为输出文件指定一个替代位置。
单击
以在浏览器中打开输出文件。

您可以以演示文稿的形式呈现您的 R markdown 内容。
构建演示文稿
创建一个新的*.rmd文件并在指定其类型时选择Presentation 。
使用##
标题标记每张新幻灯片。以下代码示例创建了三个内容幻灯片:
## 条形图 ```{r} mycars <- inside(mtcars, {cyl <- ordered(cyl)}) `` ``{r} cyls <- table(mycars$cyl) barplot(cyls, main ="汽车气缸分布", col = "#d4724e") ``` ## Pie ```{r} slices <- c(10, 12,4, 16, 10) lbls <- c("US", "UK", "Australia", "Germany", "France") mytable <- (slices) pie(slices, labels = lbls, main="Pie Chart of countries") ``` ## 点图 ``{ r} dotchart(mtcars$drat,labels=row.names(mtcars),cex=.7, main="后轴比") ```
单击
以在浏览器中打开生成的演示文稿。

您还可以使用Shiny构建具有交互式内容的 R Markdown 。
使用 Shiny 创建交互式小部件
创建一个新的*.rmd文件并在指定其类型时选择Shiny 。
编辑模板文件中的代码块或单击
以创建新的代码块。
添加您的 Shiny 代码,例如,来自Shiny Gallery的一个示例:
```{r echo = FALSE} # 为绘制直方图的应用定义 UI ---- ui <- fluidPage( # App title ---- titlePanel("Hello Shiny!"), # 带有输入和输出的侧边栏布局定义 ---- sidebarLayout( # Sidebar Panel for inputs ---- sidebarPanel( # Input: Slider for the number of bins ---- sliderInput(inputId = "bins", label = "Number of bins:", min = 1, 最大值 = 50, 值 = 30)),# 显示输出的主面板 ---- mainPanel( # Output: Histogram ---- plotOutput(outputId = "distPlot") ) ) ) # 定义绘制直方图所需的服务器逻辑 ---- server <- function(input , output) { # Old Faithful Geyser Data 的直方图 ---- # 带有请求的 bin 数量 # 这个生成直方图的表达式被包装在对 renderPlot 的调用中,以表明: # # 1. 它是“反应性的”因此应该在输入 (input$bins) 更改时自动重新执行 # 2。它的输出类型是绘图 output$distPlot <- renderPlot({ x <- lovely$waiting bins <- seq(min(x), max(x), length.out = input$bins + 1) hist(x, breaks = bins, col = "#75AADB", border = "white", xlab = "等待下一次喷发的时间(以分钟为单位)", main = "等待时间的直方图") }) } shinyApp(ui, server) `` `col = "#75AADB", border = "white", xlab = "等待下一次喷发的时间(以分钟为单位)", main = "等待时间的直方图") }) } shinyApp(ui, server) ```col = "#75AADB", border = "white", xlab = "等待下一次喷发的时间(以分钟为单位)", main = "等待时间的直方图") }) } shinyApp(ui, server) ```
如果突出显示任何代码行,请将其悬停在上方:您可能尚未安装该shiny
软件包。按下Alt+Enter并安装缺少的软件包。
单击
以构建输出。

最后修改:2021 年 12 月 20 日