PyCharm 2025.1 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年 4月 23日