使用 R Markdown
最后修改时间:2023 年 10 月 26 日PyCharm 的 R 插件提供了处理R Markdown文件的便捷功能。使用交互式编辑器,您可以快速添加可执行的 R 代码块,运行和调试它们,并生成 HTML 输出。
该插件支持不同的 Markdown 内容:文档、笔记本、演示文稿和 Shiny(交互式 Markdown)。
当您创建新的*.rmd文件时,您可以选择文件类型:
每个文件都是使用取决于其类型的特定标头创建的:
---
title: "Untitled"
author: < username >
date: < the current date DD/MM/YYYY >
output: rmarkdown::html_vignette
---
此标头用于在 HTML 文件中呈现输出。要修改默认标题,请在项目Settings中编辑 R Markdown 模板。
在 R Markdown 文件中,您可以根据Markdown 语法添加任何上下文和一些可执行代码块。
添加代码块
要将新的 R 块添加到 R Markdown 文件中,请将脱字符号放在任意行或代码块处,然后单击或按。CtrlAltInsert
以下构造将添加到所选行或块下方:```{r} ```
在块中键入任何 R 代码。
将 R 代码添加到块时,请使用编码辅助功能,例如代码完成、代码检查和快速修复。
添加代码后,可以通过装订线和块工具栏中的运行菜单使用执行操作。
物品 | 描述 |
---|---|
执行当前代码块。 | |
调试当前代码块。 | |
执行当前块之上的所有代码块。 | |
执行当前块下面的所有代码块。 |
执行代码块
要执行插入符号处的代码块,请单击并选择“运行块”,或单击块工具栏上的 。
一次执行一个块时,请注意代码依赖性。例如,代码片段中的第二个块使用第一个块中定义的变量。
单击以执行当前所选块上方的所有块,以确保所有必需的变量都已初始化。
您可以随时单击执行文件中所有剩余的代码块,或者通过单击 来选择一次执行所有代码块。
预览并评估块下方呈现的执行结果。
您还可以切换到R 控制台来详细研究变量。
如果需要,单击清除执行结果。
您可以调试 R Markdown 文件中的可执行块以检测并修复其中的任何错误。
调试代码块
您可以创建一个包含 R Markdown 源代码及其执行结果的 HTML 文件。
生成 HTML 输出
单击R Markdown 工具栏上的 。
PyCharm 创建一个与.rmd文件同名的 HTML 文件。R Markdown控制台报告任务完成情况。
默认情况下,所有输出文件都存储在项目根目录中。如果需要,请从R Markdown 工具栏上的输出目录列表中选择“自定义”,并指定输出文件的备用位置。
单击可在浏览器中打开输出文件。
您可以以演示的形式展示您的 R markdown 内容。
构建演示文稿
创建一个新的*.rmd文件,并在指定其类型时选择“Presentation”。
使用
##
标题来标记每张新幻灯片。以下代码示例创建三个内容幻灯片:## 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") ```
单击可在浏览器中打开生成的演示文稿。
您还可以使用Shiny构建带有交互式内容的 R Markdown 。
使用 Shiny 创建交互式小部件
创建一个新的*.rmd文件并在指定其类型时选择Shiny。
编辑模板文件中的代码块或单击创建新的代码块。
添加您的 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) ```
如果任何代码行突出显示,请将其悬停在上面:您可能尚未
shiny
安装该软件包。按并安装缺少的软件包。AltEnter单击以构建输出。
感谢您的反馈意见!