PyCharm 2025.2 Help

使用 R Markdown

R 插件为 PyCharm 提供了处理 R Markdown 文件的便捷功能。 通过交互式编辑器,您可以快速添加可执行的 R 代码块,运行并调试它们,并生成 HTML 输出。

该插件支持不同的 markdown 内容:文档、笔记本、演示文稿和 Shiny(交互式 markdown)。

当您 创建一个新的 *.rmd 文件时,您可以选择文件类型:

创建一个新的 Markdown 文件

每个文件都会根据其类型创建一个特定的头部:

--- title: "Untitled" author: < username > date: < the current date DD/MM/YYYY > output: rmarkdown::html_vignette ---

此头部用于在 HTML 文件中渲染输出。 要修改默认头部,请在项目 设置编辑 R Markdown 模板

在 R Markdown 文件中,您可以根据 Markdown 语法添加任何内容以及一些可执行的代码块。

添加代码块

  1. 要向 R Markdown 文件添加新的 R 代码块,请将插入点放在任意行或代码块处,然后单击 添加该代码块 或按 Ctrl+Alt+Insert

    向 R Markdown 文件添加新代码块

    以下结构将被添加到选定行或代码块的下方:

    ```{r} ```
  2. 在代码块中输入任意 R 代码。

    在向代码块添加 R 代码时,使用 编码辅助功能,例如代码补全、代码检查和快速修复。

    R 的代码补全

一旦添加了代码,执行操作就可以通过 运行 菜单在边距和代码块工具栏中使用。

编辑器中的可执行代码块

项目

描述

运行代码块

执行当前代码块。

调试代码块

调试当前代码块。

运行上方的代码块

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

运行下方的代码块

执行当前代码块下方的所有代码块。

执行代码块

  1. 要执行插入点处的代码块,请单击 运行代码块 并选择 运行代码块 ,或单击代码块工具栏上的 运行代码块

  2. 在一次执行一个代码块时,请注意代码依赖。 例如,代码片段中的第二个代码块使用了第一个代码块中定义的变量。

    代码依赖

    单击 执行上方的代码块 以执行当前选定代码块上方的所有代码块,确保所有所需变量已初始化。

  3. 您可以随时单击 执行所有下方的代码块 以执行文件中剩余的所有代码块,或者通过单击 运行全部 选择一次性执行所有代码块。

  4. 预览并评估呈现在代码块下方的执行结果。

    代码块执行结果

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

    在 R 控制台中预览变量
  5. 如有需要,单击 清除输出 以清除执行结果。

您可以调试 R Markdown 文件中的可执行代码块,以检测并修复其中的任何错误。

调试代码块

  1. 单击 边距以创建 断点

    在调试特定代码块之前,请确保已调试所有具有代码依赖的代码块。 与运行代码块类似,如果当前代码块中使用的任何变量尚未初始化,则无法执行调试。

  2. 单击代码块工具栏上的 启动调试器

    切换到 R 控制台。 调试过程会在断点处停止,您可以在 变量 窗口中预览当前结果。

    在 PyCharm 中调试 R Markdown 文件中的代码块
  3. 使用 调试工具栏管理调试过程。

您可以创建一个包含 R Markdown 源代码及其执行结果的 HTML 文件。

生成 HTML 输出

  1. 单击 R Markdown 工具栏上的 渲染输出

  2. PyCharm 会创建一个与 .rmd 文件同名的 HTML 文件。 R Markdown 控制台会报告任务完成情况。

    渲染 HTML 文件

    默认情况下,所有输出文件都存储在项目根目录中。 如有需要,从 R Markdown 工具栏的输出目录列表中选择 自定义 ,并指定输出文件的替代位置。

  3. 单击 在浏览器中打开输出文件 以在浏览器中打开输出文件。

    浏览器中的 HTML 输出文件

您可以以演示文稿的形式呈现 R Markdown 内容。

构建演示文稿

  1. 创建一个新的 *.rmd 文件,并在指定其类型时选择 呈现

  2. 使用 ## 标题标记每个新幻灯片。 以下代码示例创建了三个内容幻灯片:

    ## Bar plot ```{r} mycars <- within(mtcars, {cyl <- ordered(cyl)}) ``` ```{r} cyls <- table(mycars$cyl) barplot(cyls, main="Car cylinder distribution", 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") ``` ## Dot plot ```{r} dotchart(mtcars$drat,labels=row.names(mtcars),cex=.7, main="Rear axle ratio") ```
  3. 单击 在浏览器中打开输出文件 以在浏览器中打开生成的演示文稿。

    R Markdown 演示文稿

您还可以通过使用 Shiny构建带有交互式内容的 R Markdown。

使用 Shiny 创建交互式小部件

  1. 创建一个新的 *.rmd 文件,并在指定其类型时选择 Shiny

  2. 编辑模板文件中的代码块,或单击 添加新代码块 以创建一个新的代码块。

  3. 添加您的 Shiny 代码,例如,来自 Shiny Gallery的一个示例:

    ```{r echo = FALSE} # Define UI for app that draws a histogram ---- ui <- fluidPage( # App title ---- titlePanel("Hello Shiny!"), # Sidebar layout with input and output definitions ---- sidebarLayout( # Sidebar panel for inputs ---- sidebarPanel( # Input: Slider for the number of bins ---- sliderInput(inputId = "bins", label = "Number of bins:", min = 1, max = 50, value = 30) ), # Main panel for displaying outputs ---- mainPanel( # Output: Histogram ---- plotOutput(outputId = "distPlot") ) ) ) # Define server logic required to draw a histogram ---- server <- function(input, output) { # Histogram of the Old Faithful Geyser Data ---- # with requested number of bins # This expression that generates a histogram is wrapped in a call # to renderPlot to indicate that: # # 1. It is "reactive" and therefore should be automatically # re-executed when inputs (input$bins) change # 2. Its output type is a plot output$distPlot <- renderPlot({ x <- faithful$waiting bins <- seq(min(x), max(x), length.out = input$bins + 1) hist(x, breaks = bins, col = "#75AADB", border = "white", xlab = "Waiting time to next eruption (in mins)", main = "Histogram of waiting times") }) } shinyApp(ui, server) ```
  4. 如果某行代码被高亮显示,将鼠标悬停在其上:可能是您尚未安装 shiny 包。 按 Alt+Enter 并安装缺失的包。

  5. 单击 运行 以生成输出。

    在 R Markdown 中使用 Shiny 的交互式小部件
最后修改日期: 2025年 9月 26日