R 3.5.1 中 RStudio 笔记本中的奇怪(失真)输出

Strange (distortred) output in RStudio notebook in R 3.5.1

我注意到 RStudio notebook 在 R 3.5.1 中有奇怪的行为。我可以使用以下代码重现该行为:

list()
head(iris)

首先,应该打印一个空列表。然后,如果在相同或另一个代码块中打印任何数据框,其值将包含在附加符号中(有些用箭头表示),如此打印屏幕所示。

在 R 3.5.1 中:

此行为可能与 与 R 列表有关。它存在于笔记本中,如果代码是 运行 控制台或文档是编织的,它就会消失。在 R 3.4.4 中也不存在此问题。 如果列表和数据框之间有附加代码 运行,问题也会消失,例如:

list()
1
head(iris)

我有这些问题:

  1. 我用Windows。 Linux 和 Mac OS 用户能否重现该问题?
  2. 如何解释输出失真的原因?
  3. 如果我希望将来解决该问题,我应该在哪里报告该问题?

Session info ---------------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.5.1 (2018-07-02)
 system   x86_64, mingw32             
 ui       RStudio (1.1.453)           
 language (EN)                        
 collate  English_United States.1252  
 tz       Europe/Helsinki             
 date     2018-07-15                  

Packages -------------------------------------------------------------------------------------------
 package   * version date       source                          
 base      * 3.5.1   2018-07-02 local                           
 compiler    3.5.1   2018-07-02 local                           
 datasets  * 3.5.1   2018-07-02 local                           
 devtools    1.13.6  2018-06-27 CRAN (R 3.5.0)                  
 digest      0.6.15  2018-01-28 CRAN (R 3.5.0)                  
 graphics  * 3.5.1   2018-07-02 local                           
 grDevices * 3.5.1   2018-07-02 local                           
 knitr       1.20.8  2018-07-07 Github (yihui/knitr@89b34a6)    
 memoise     1.1.0   2017-04-21 CRAN (R 3.5.0)                  
 methods   * 3.5.1   2018-07-02 local                           
 stats     * 3.5.1   2018-07-02 local                           
 tools       3.5.1   2018-07-02 local                           
 utils     * 3.5.1   2018-07-02 local                           
 withr       2.1.2   2018-06-28 Github (jimhester/withr@fe56f20)
 xfun        0.3     2018-07-06 CRAN (R 3.5.0)                  
 yaml        2.1.19  2018-05-01 CRAN (R 3.5.0)  

看来这是一个影响在 Windows 上使用 R 3.5.1 的 GUI 应用程序(例如 RGui 和 RStudio)的错误。例如,您可以看到类似的效果:

x <- 1
print(list())
save(x, file = tempfile())
output <- encodeString("apple")
print(output)

采购这给了我:

> source('~/encoding.R')
list()
[1] "[=11=]2ÿþapple[=11=]3ÿþ"

我们将在下一版本的 RStudio 中进行修复,但目前的解决方法是避免在 R 中打印数据帧之前打印空列表。