Stargazer标题未显示(不可重现的错误)

时间:2018-05-09 16:42:27

标签: r pdf stargazer

警告:我无法在单独的R / RStudio会话中重现错误,因此我希望在解决当前.rmd脚本时遇到问题。

问题

突然之间,观星者的称号似乎停止了工作。无论标题是什么或我在函数中放置参数的位置,它似乎都不起作用。

此外,也许相关,我开始收到此警告消息:

the condition has length > 1 and only the first element will be used

背景

在@ hpesoj626帮助我回答this question后,标题从我的表格中消失了。虽然未在该示例中明确设置,但仍会显示stargazer的/ LaTeX的默认标题。在该帖子中使用该解决方案后,标题消失了。

我想使用title = ""参数为表添加自定义标题。这似乎没有帮助。

尝试

  • 我尝试过使用其他字符向量参数来查看它们 工作,如dep.var.labels = c(),一切似乎都有效 细。
  • 我尝试重新安装和更新stargazer包。
  • 除了...title = ""
  • 之外,我已尝试删除所有其他参数
  • 我尝试了不同的块选项。 (results='asis'echo=FALSE等。)
  • 我试图以我知道的方式重启R / Rstudio
  • 我尝试将.rmd文件代码复制并粘贴到完全独立的脚本中。
  • 我无法在SO上找到类似的问题。

正如您将在下面的部分中看到的那样,我通过命名空间加载了其他包,因为我使用.rdaload()个对象加载到我的会话中。我正在将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    

通过命名空间加载的某些软件包是否与stargazerLaTeX或其他软件包冲突?

感谢

我知道我无法提供最多的信息,因为我自己无法重现错误,但我非常感谢您在解决问题时遇到的任何疑问。如果您能够提供一些指导,谢谢。

1 个答案:

答案 0 :(得分:0)

经过大量的反复试验,我找到了解决方案。

我没有意识到这一点,但在df <- data.frame(factor = rep("myFactor", 9), filter = rep("Property Price", 9), outcome = rep("Price", 9), filter.value = c(rep("Country X", 3), rep("Country Y", 3), rep("Country Z", 3)), FactorLevel = rep(c("Bungalow", "House", "Apartment"), 3), Outcome_Variable = rep("Price",9), mean = rep(20, 9), min = rep(0, 9), max = rep(100, 9), sd = rep(5, 9), n = rep(50, 9), SE = rep(3, 9)) attach(df) print.plot <- function (rows) { ggplot(rows, aes(x = FactorLevel, y = mean, fill = filter.value)) + geom_bar(stat = "identity", position = position_dodge()) + geom_errorbar(aes(ymin = mean - SE, ymax = mean + SE), position = position_dodge(.8), width = 0.25)+ geom_text(aes(label = n), vjust = 1.6, color = "black", position = position_dodge(.9), size = 3.5) } print.plot(df) 函数中包含float = FALSE,删除了生成的LaTeX代码的这一部分:

stargazer()

标题的去向。但是如果不使用\begin{table}[!htbp] \centering \caption{} \label{} ,我将无法将我的桌子定位在我想要的位置。而float = FALSE或这些字母的任意组合都没有正确定位表格,而table.placement = "htbp"引发了错误。

感谢this post,我能够将以下代码放入我的YAML标头中并使用table.placement = "H"并保持float = table.placement = "H"

TRUE

将我的桌子放在适当的位置并允许我在桌子上放置标题。