首页 > 解决方案 > 在 R 中打印格式化的数学运算

问题描述

我在 R 中有这样的数学运算:

x = 5
y = (x / 5) * 2

我想打印y到控制台或 pdf 文件,所以它看起来像:

(x / 5) * 2 喜欢在纸上

在此处输入图像描述

我可以使用 R 基本函数或某种库来做到这一点吗?

标签: rmathprintingoperation

解决方案


@Yehor:您可以使用 RStudio 和 RMarkdown 的强大功能将文本、代码和可视化组合成 pdf 等输出格式。在引擎盖下,您需要的不仅仅是“某种图书馆”。但是,如果您使用 RStudio 作为您的 R 编辑器,那么基础架构(您需要的)实际上已经到位。第一次打开 RMarkdown 文件时,RStudio 会要求安装一些软件包,但不要担心。

在 RStudio 中打开一个新的 RMarkdown 文件。在开始对话期间,您可以(预)选择一种输出类型,例如 pdf。请注意,您可以稍后更改。
打开的示例让您了解可以做什么。当您点击编辑器窗格顶部栏中的“编织按钮”时,魔法就会发生。R/RStudio 将呈现文档并解释代码块。这些块可以包括“仅”代码、生成表格和/或图形的代码。

对于数学和公式,RMarkdown 支持 2 种 LATEX 呈现方式:

  1. 内联方程
  2. 方程模式

(I) 内联方程 - 在单个美元符号内 $
您可以在 Rmd 文档的文本部分的任何位置包含内联方程。例如:

    This is how I add a formula: $y := \frac{x}{5} * 2$ within a line using inline code.

(II) 等式模式 - 双美元符号内的语句 $$
对于等式模式,使用 $$ 并将其放在 Rmd 中的单独行上。

    $$y := \frac{x}{5} * 2$$

在 RStudio 中编织 Rmd 会将文档呈现为 pdf(您也可以导出为 html、MS Word 甚至 Powerpoint)。

例如:

在此处输入图像描述

用这个最小的 Rmd 生成:

在此处输入图像描述

如果您想将此与计算结合起来,您将添加一个“代码块”。在 RMarkdown 中,您可以在 3 个反引号内包含 R 代码,例如{r} # R-stuff ... ,以下代码块执行该操作:

    x <- 5
    y <- (x/5) * 2

如果要在文本中打印结果“内联”,可以添加所谓的内联代码。这是通过在单个反引号和起始 r 内(即r ...在 Rmd 的文本部分内)使用 R 语句来完成的。例如:

   My result is `r y` as inline code.

这将打印:我的结果是 2 作为内联代码。
您可以通过用分号(~命令行结尾)分隔每个语句来包含更复杂的 R 语句作为内联代码。但是,我建议在代码块中做一些蓬松的东西,并将内联用于简单的语句。它在视觉上和调试上都容易得多。


推荐阅读