警告:我无法在单独的 R/RStudio 会话中重现该错误,因此我希望在解决我当前的.rmd
脚本时获得一些线索。
问题所在
突然之间,观星者标题的争论似乎停止了。无论标题是什么或我将参数放在函数中的哪个位置,它似乎都不起作用。
此外,也许相关,我开始收到以下警告消息:
the condition has length > 1 and only the first element will be used
背景
在@hpesoj626帮我回答这个问题后,标题从我的表格中消失了。尽管在该示例中没有明确设置,但仍显示stargazer
的/LaTeX
的默认标题。在该帖子中使用解决方案后,标题消失了。
我想使用title = ""
参数向表添加自定义标题。这似乎无济于事。
尝试
- 我尝试使用其他字符向量参数来查看它们是否 工作,就像
dep.var.labels = c()
一样,一切似乎都很好 好。 - 我尝试重新安装和更新
stargazer
软件包。 - 我尝试删除除
...
和title = ""
之外的所有其他参数 - 我尝试了不同的块选项。(
results='asis'
、echo=FALSE
等( - 我试图以各种方式重新启动R/Rstudio,我知道如何
- 我尝试将.rmd文件代码复制并粘贴到一个完全独立的脚本中。
- 我无法在SO上找到类似的问题。
正如您将在下面的部分中看到的,我通过命名空间加载了其他包,因为我使用load()
将.rda
对象加载到我的会话中。我正在将glm()
对象和ggplot()
对象加载到我的 R/Rstudio 会话中。即使在示例会话中执行此操作,我也无法重现错误。
链接的可重现示例与实际会话之间的差异
我可以看到的示例数据和实际数据之间的唯一区别是,为我的实际数据生成的 LaTeX 代码缺少以下内容:
begin{table}[!htbp] centering
caption{}
label{}
我的实际数据包含以下内容:
the condition has length > 1 and only the first element will be used
我的实际 sessionInfo(( 通过命名空间加载了更多包:
R version 3.4.4 (2018-03-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] stargazer_5.2.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 digest_0.6.15 grid_3.4.4 plyr_1.8.4 gtable_0.2.0 scales_0.5.0.9000 ggplot2_2.2.1 pillar_1.2.1 rlang_0.2.0.9001
[10] lazyeval_0.2.1 labeling_0.3 tools_3.4.4 munsell_0.4.3 yaml_2.1.19 compiler_3.4.4 colorspace_1.3-2 knitr_1.20 tibble_1.4.2
某些通过命名空间加载的包是否与stargazer
、LaTeX
或其他包冲突?
谢谢
我知道我无法提供最多的信息,因为我自己无法重现错误,但我非常感谢您对解决问题的任何见解。如果您能够提供一些指导,谢谢。
经过大量的试验和错误,我能够找到一个解决方案。
我没有意识到这一点,但是在stargazer()
函数中包含float = FALSE
,删除了生成的LaTeX代码的这一部分:
begin{table}[!htbp] centering
caption{}
label{}
这就是标题要去的地方。但是如果不使用float = FALSE
,我将无法将桌子放置在我想要的位置。table.placement = "htbp"
或这些字母的任何组合都没有正确定位表格,table.placement = "H"
抛出了一个错误。
多亏了这篇文章,我能够将以下代码放在我的 YAML 标头中并使用table.placement = "H"
并保持 float =TRUE
:
---
title: "Title"
author: "Name"
output: pdf_document
fig.caption: yes
keep_tex: yes
header-includes: usepackage{float}
---
它将我的桌子放在适当的位置,并允许我将标题放在桌子上。