使用 R 和 LyX 进行统计分析的工作流程?

机器算法验证 r 项目管理
2022-04-02 06:52:50

有一段时间,我想停止将我的 R 结果复制粘贴到文字中,但爬上 LaTex 山似乎很值得。最近,我发现了 LyX,对于像我这样不想编写文本但希望将 R 分析与文本结合起来的人来说,这是一个外行的解决方案。

但是,我发现关于 LyX+R 的更新文档很少- 这导致我写下我的问题:

  1. 您在 R+LyX 工作流程中结合了哪些工具?(你是否在 LyX 上结合了文本编辑器?哪个?为什么?)
  2. 分析项目的常用文件夹结构是什么?
  3. 您构建分析的步骤顺序是什么?您在 file.r 中保留什么代码?其他类型的文件是什么?(图像、.RData 备份、.TeX 等)
  4. 您是否对不同类型的项目使用不同的工作策略(由于项目的大小或数据集的大小)
  5. 你在工作中结合了哪些 R 包?如何?
  6. 推荐链接?
3个回答

Tal,我也加入了 Lyx-Swave 的潮流,并开始使用 Lyx 撰写我的心理学硕士论文。

然而,由于各种问题(例如遵守新的 APA 6th 标准和其他期刊规范、正确的参考文献格式等),我放弃了 Lyx 并转换为直 tex。我发现很难在 Lyx 中实现我想要的 - 我不得不一直使用邪恶的红色文本(纯 tex),并意识到一直坚持使用邪恶的红色文本(即纯 tex)给了我更大的灵活性和机会。

关于实际出版,在我的领域(心理学)中也很少有期刊会接受 tex 或 pdf 格式的提交 - 将 tex 转换为 word 是一种痛苦,尤其是表格......

第三个问题是关于合作。我的同事很少使用 tex,甚至更少使用 Lyx,而且大学不支持安装或维护安装,这意味着人们有不同的版本,缺少软件包等。

我现在采用的是使用 R (rstudio) 进行所有带有文档的分析,但只是使用它来生成表格和图形。然后我用 word 写我的论文,并将 pdf 表格(xtable 非常好)和 R 中的数字包含在这些表格中。我发现大多数期刊都允许您上传 pdf 格式的表格和图表。

另一种可能性是使用 Rstudio 编写分析,您需要很少的乳胶代码行来生成一个可编织的 .Rnw 文件:

\documentclass{article}
\begin{document}
<<>>=
your code goes here
@
\end{document}

使用此文件进行分析,在 Rstudio 中(或R CMD Sweave filename.Rnw在命令提示符下)点击“编译 PDF”以制作 tex 文件(如果您使用 Rstudio,则为 PDF),然后使用 texniccenter 或 texworks 等编辑器打开此 tex 文件输入和编辑周围的文字。这些编辑器为您提供了粗体和斜体、标题级别等命令的快捷方式,并且使您免于学习实际代码。当您变得更高级时,使用\Sexpr{}将结果直接插入文本不会很难!如果您遇到与丢失有关的错误,Sweave.sty只需复制此文件(在 R 目录中找到r\r-version\share\texmf)并将其放在与您当前尝试“编织”的文件相同的目录中。

我在你的博客和你的答案中看到了你在 R 方面的技能,所以我知道学习使用 sweave 所需的一点点 tex 对你来说是不匹配的!

祝你好运。

这是我的问题。你的旅费可能会改变。

1)对于工具,除了 R + LyX 之外的一切都是锦上添花。就我而言,我使用 Emacs + ESS + AUCTeX、Org-Mode、终端和 RStudio。再一次,R + LyX 会让你在紧要关头度过难关。

2)LyX 摆脱(阅读:隐藏)许多您需要跟踪的额外文件夹/废话。我刚刚打开了我的一个项目,我只有一个根目录和一个 /img 文件夹,用于保存那些不是由 Sweave 生成​​的图像。其他的一切都是锦上添花。

3) 使用 LyX,您只需起床即可!关键是您不必摆弄诸如文档类或其他任何东西。刚开始写作,你可以在以后完善其他所有内容。是的,有时我会运行一个冗长的计算并将其保存在一个 .RData 中,我稍后会加载它。我不会摆弄 R 代码(即 .r 文件),因为我可以稍后再处理它。(至少,你曾经能够)。

4)如果是一个非常小的项目,我使用 RStudio。如果是中型项目,我打开 LyX 开始。如果这是一个包含大量编码的大型项目,我通常会使用 Emacs/ESS 并稍后复制粘贴到 LyX。如果这是一个非常庞大的项目,我使用的是 LyX,但最近使用的是 Emacs Org Mode。

5)我使用与其他地方相同的 R 包,而 LyX 不是该等式中的一个术语。

6) Yihui Xie 有很多很棒的东西。

一些有助于您决定保留/放弃 LyX 的一般性评论:

a) LyX 有一个知识渊博的社区可以帮助您,而且他们反应迅速。

b) 我曾使用 LyX 参与过大大小小的项目。对于 1) 快速的东西或 2) 巨大的东西,它真的很强大,你需要标记、做索引和/或参考书目。此功能适用于 Emacs,但对于 LyX,它是开箱即用的,随心所欲。

c) LyX 不适合即时预览您的 LaTeX 和/或 Sweave 代码(这可能是 Sweave 数字的真正 PITA)。我发现 Emacs Org-Mode 两者都做,而 AUCTeX 做前者。

d) 顺便说一句:现在我想起来了,我已经使用文本编辑器(Emacs/ESS 或 RStudio)在粘贴到 .lyx 文件之前运行/润色代码,仅仅是因为当你的项目很大时,编译整个事情只是几行。当项目很小时,这两种方式都没有关系。

e) 和 BBTW,@Tormod 认为协作是一个问题是正确的,但在可预见的未来,它始终存在并且将继续存在。使用 LyX,您可以导出到 Sweave/LaTeX/HTML/OpenDocument,如果您的好友都没有使用该列表中的任何内容,那么您需要找到不同的好友。:-)

f) B^{3}TW:最初吸引我使用 LyX 的警笛歌曲是它对数字和表格的自动处理——它们再简单不过了。您可以混合和匹配您喜欢的任何图形文件类型,并且 LyX 知道要加载哪些包以及要执行哪些转换以使其正常工作这是我在使用 Org Mode、AUCTeX 和 RStudio 进行其他项目时再次忍受的痛苦。

我想我可能应该给出一个完整的答案,所以就在这里。

我不使用 Lyx,我使用香草 LaTeX。我尝试使用 Lyx,但它让我感到困惑,我实际上发现纯乳胶更容易理解。为了我的钱,Lyx 的界面太像一个文字处理器,并且对我隐藏了代码(虽然我没有使用它很长时间,所以可能有办法绕过它)。我将 Emacs 与 Emacs 说统计信息和 Auctex 一起用于我的 sweave 和 latex 文件。这具有非常好的文档、跨平台支持和 Rnw 文件中 LaTeX 和 R 的语法突出显示的好处。正如我在评论中所述,它还使得从 R 缓冲区(一个 emacs 术语)中的交互式分析到我打算用于我的报告/论文/论文的 Sweave 文件变得更加容易。

我绝对将我所做的一切都保存在 Sweave 文件中(因为痛苦的经验告诉我,你没有放入文件中的一件事将是你遇到的问题)。

我通常每个项目/论文有一个文件夹,这个文件夹包含所有输入数据文件、sweave 文件和所有输出图形/数据文件。随着时间的推移,这个文件夹会变得非常拥挤,所以我通常为我的最终文档创建一个子文件夹,然后从那里重新运行分析。

如上所述,我将所有内容放在 sweave 文件中,以确保可以重新运行所有分析。我通常在重新生成 sweave 文件之前在我的 R 缓冲区上调用 rm(list=ls()) ,以确保确定。Rda 文件很危险,因为我的对象不能完全重现。话虽如此,如果您的计算需要很长时间,那么在确定它可以工作之后,您可以将 sweave 块更改为 eval=FALSE,然后从 Rda 文件加载该对象。这是最后的手段(这个建议无耻地从安德鲁·格尔曼那里偷来)。

我尝试对所有分析保持相同的策略,但如果我开始做更多的贝叶斯工作(由于涉及大量计算),这可能会改变。

我最常用于 LaTeX 的包是 xtable,它适合我的需要。我不倾向于使用 cacheSweave,因为我有一种病态的恐惧,担心之后我将无法复制我的分析。

推荐链接: Sweave manual Emacs for windows with ess and auctex TeX for the impatient

老实说,我发现学习 LaTeX 的最好方法就是开始学习它。网上有很多 Sweave 模板,买一个开始编码吧。除非您想做一些花哨的事情,否则谷歌搜索错误消息可能会解决您的问题。一个心理学家的指南也漂浮在周围,这也非常有用。

最后,LaTeX 通常工作方式,在 Mac 或 Linux 上都更好(Ubuntu 总是很好),并且 Emacs 在 Linux 上更容易扩展。如果您确实需要继续使用 Windows,请将 R 和 LaTeX(Miktex 很好,选择即时安装选项)安装到路径中没有空格的位置(例如,c:\bin 而不是 c:\程序文件)。从长远来看,这将为您节省很多麻烦(但真正安装 linux,r 更快,latex 效果更好,命令行工具会死)。