我在我大学的 rstudio pro 服务器上使用 Rmarkdown 教授计量经济学,运行 R 3.6.3。每当我使用 stargazer 运行 rchunk 来显示回归结果时,我都会在表格前得到一个错误的序言。这是代码的复制和粘贴以及运行代码块后的确切结果:
lm.1 <- lm(mpg ~ cyl,data=mtcars)
stargazer(lm.1,type="text")
length of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changed
===============================================
Dependent variable:
---------------------------
mpg
-----------------------------------------------
cyl -2.876***
(0.322)
Constant 37.880***
(2.074)
-----------------------------------------------
Observations 32
R2 0.726
Adjusted R2 0.717
Residual Std. Error 3.206 (df = 30)
F Statistic 79.560*** (df = 1; 30)
===============================================
Note: *p<0.1; **p<0.05; ***p<0.01
无论我使用 type= text、html 还是 latex,都会发生此错误。
虽然错误没有出现在 knitted 报告中,但学生们所做的大部分工作只是简单地运行 r block 。并且,因此每个学生在他们看到的每个回归结果表之前都会以鲜红色的文本获得错误的序言。对说服他们没有帮助 R 及其有用的软件包是用于编写统计报告的现代、稳定和专业的工具。
有谁知道什么可能导致观星者出现这个错误以及如何摆脱它?
编辑:回复@J_F(感谢您的评论)
这是 sessionInfo() 输出:
sessionInfo()
R 版本 3.6.3 (2020-02-29)
平台:x86_64-pc-linux-gnu(64位)
运行于:Ubuntu 18.04.4 LTS
矩阵产品:默认
BLAS:/usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK:/usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
语言环境:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
附加的基础包:
[1] stats graphics grDevices utils datasets methods base
其他附加包:
[1] 观星者_5.2.2
通过命名空间加载(未附加):
[1] 编译器_3.6.3 工具_3.6.3 knitr_1.27 xfun_0.12
这是我的 .rmd 文件的全部内容:
---
title: "stargazer test"
output: html_document
---
library(stargazer)
knitr::opts_chunk$set(echo = TRUE)
lm1 <- lm(mpg ~ cyl, data = mtcars)
stargazer(lm1,type="text")
最佳答案
我也一直有这个问题。无法找出消息的来源,但如果您想隐藏警告消息,您可以在第二个 block 中为整个文档关闭它们:
knitr::opts_chunk$set(echo = TRUE, warning = FALSE)
或通过将 stargazer 调用包装在 suppressWarnings() 中
关于error-handling - 仅在 rmarkdown 中运行 rchunk 时,stargazer 错误 "length of NULL cannot be changed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62375365/