37

R、Rstudio 和 SO 的新手——对于任何失礼,我提前道歉。

我想在 Word 2010 中重现我的代码以完成家庭作业。脚本是用 rstudio 编写的,我想在粘贴到 Word 时保留 rstudio 的格式。原则上,我喜欢 rstudio 使用的字体颜色和间距。我发现当我从 SAS 粘贴到 Word 时,格式被保留,但这里没有骰子。

我通常会寻找复制特殊/粘贴特殊选项来执行此操作,但我找不到任何选项。当我尝试将特殊内容粘贴到 word 中时,只显示未格式化的文本选项。我宁愿不逐行重新格式化文本,因为我认为它在 rstudio 中看起来很不错。

我想尝试将 rstudio 中的脚本保存为可以保留其格式的某种格式,但我找不到任何方法来做到这一点。有谁知道我如何才能做到这一点?

提前致谢

4

9 回答 9

37

目前尚不清楚您是从 RStudio 的脚本编辑器(有 4 或 5 种颜色)还是从 RStudio 中的 R 控制台(脚本 + 输出)(只有 2 种颜色)粘贴。

如果您是从控制台粘贴 - 请再次选中“Paste special”。应该有一个“HTML 格式”选项可以满足您的需要(尽管您可能需要调整字体大小以根据您的页边距使所有内容都适合)。

如果您是从脚本编辑器粘贴,那么直接复制粘贴解决方案就不走运了。但是有一个复制粘贴和复制粘贴的解决方案......

一种解决方案可能是使用Notepad++。在 RStudio 中,保存您的脚本(带有“.R”扩展名),然后在 Notepad++ 中打开该脚本。(或从 RStudio 复制并粘贴到 Notepad++,但请确保将文件的语言——从“语言”菜单——设置为 R)。当您的脚本在 Notepad++ 中正确突出显示时,请转到“插件 > NppExport > 复制 HTML 到剪贴板”菜单以复制打开的文件。然后可以将其粘贴到 HTML 格式的 MS Word 中。

于 2012-04-13T18:56:48.357 回答
26

以防万一其他人寻找这个问题......

使用 RStudio 将所有源代码保存在具有美观格式的 word 文档中的另一种方法是使用该File/Compile Notebook选项,选择 MS Word 作为输出格式。

使用此选项,.docx将生成一个包含脚本输出以及原始源代码的文档。不过,该脚本将被执行。

如果您不希望您的代码被评估(您只需要一个简单的复制粘贴),您可以#+eval=FALSE在脚本的开头添加,然后源代码将在 word 文档中复制而不被评估。

这种方法依赖于knitr。如果有人想开始玩这个,这里有一个例子。

#' ---
#' title: "My homework"
#' author: John Doe
#' date: June 15, 2015
#' output: word_document
#' ---

# The header above sets some metadata used in the knitr output

# Conventional comments are formatted as regular comments

# Comments starting with "#+" control different knitr options.

#+echo=FALSE,message=FALSE,warning=FALSE
library(ggplot2)


#+echo=TRUE
#' Comments with a "+" sign are used to tell knitr what should be
#' done with the chunk of code:
#'
#'  - echo: Show the original code or not
#'  - eval: Run the original code or not
#'  - message: Print messages
#'  - warning: Print warnings
#'  - error: Print errors
#'  ...

#' Comments with an apostrophe "'" will be printed as regular text.
#' This is very useful to explain what you are actually doing!

# Regular comments can be used to document the code as usual
# Figures are printed:
ggplot(mpg, aes(x=cty, y=hwy)) + geom_point(aes(color=class))

#' Formatting **options** are possible.
#' Even [links](http://stackoverflow.com/questions/10128702/how-to-preserve-formatting-from-rstudio-when-copy-pasting-to-word)
#'


#' This will show all the packages and versions used to generate this document.
#' It can be used to make sure that your teacher has all he needs to run your script
#' if he/she wants to.
sessionInfo()

Word 文档示例

于 2015-06-15T14:29:16.187 回答
9

假设您可以访问互联网

  1. 复制并粘贴到gist.gisthub.com
  2. 选择“R”作为语言 - 这应该提供颜色
  3. 点击创建(秘密或公开)要点
  4. 从要点复制并粘贴到您的文字处理器。

与notepad++解决方案相比:

  • 对您的代码进行在线备份,并记录您剪辑它的时间。
  • 您无需安装任何其他软件,如果您是使用公共计算机的学生,这将非常有用。
于 2013-05-24T02:02:04.010 回答
3

如果您只需要格式化的代码:

第 1 步:只需在代码开头添加 #+eval=FALSE 即可。

步骤2:然后转到文件-> 编织文档。在 msword/PDF/Html 中编译文件。

或者

只需在代码开头添加 #+eval=FALSE 即可。

按 CTRL+SHIFT+K,然后在 msword/PDF/Html 中编译文件。

如果您需要带有输出的代码,请不要在代码开头添加 #+eval=FALSE 并直接执行第 2 步。

于 2018-08-26T09:40:26.013 回答
1

我同意 zeehio 的观点,即使用 Knitr 可能是最好的选择。但另一种方法是使用Pretty R 工具和此处的“打开文档文本”步骤。基本上只需将您的代码复制并粘贴到漂亮的 R 中,然后将输出(不是 html)复制并粘贴到打开的文档中。

于 2015-10-03T12:03:22.947 回答
0

从 Rstudio 控制台窗口复制并粘贴到 Word 文档后,您需要突出显示所有刚刚复制的文本并将字体更改为 Courier New。这将为您提供与 Rstudio 控制台窗口中相同的间距和排列。

于 2012-04-12T18:04:47.887 回答
0

将代码从 Rstudio 编辑器复制粘贴到“visual studio code”,然后再次从那里复制到文字处理器中。为此,您必须首先在 Visual Studio 代码中安装 R 扩展。“Visual Studio 代码”本身就是一个 IDE,它也可能用于 R 语言,但现在我强调使用它来回答上述问题。

于 2019-05-07T12:32:45.453 回答
0

在 RI 中使用 Monaco 编辑器字体。要在 Microsoft Word 中复制粘贴 R consol 的输出,我选择 consol 的输出,右键单击并复制并粘贴到我的 Word 文档中。将输出粘贴到 word 中后,我选择它并将其放入 Word 的 Monaco 字体中,并在必要时减小字体大小。

这很好地完成了这项工作,并且完美地保留了 R 控制台的输出样式以及编写的代码块。

于 2021-06-21T17:48:28.917 回答
0

如果要在从 R 控制台处理选择时保留格式,则需要安装旧版本的 R Studio。版本 1.2.5042。它不适用于较新的版本

于 2021-06-23T07:59:03.477 回答