打印 tibble 字符变量出现时带有引号

printing tibble character variable appears with quotation marks

当我读入一个文件时,我无法弄清楚为什么两个相似的 character 变量使用 tibble 打印不同 - 一个带引号,另一个不带引号。经过一番挖掘,我注意到一个包含尾随白色 space 而另一个没有。

白色 space 是 character 变量用引号打印的唯一原因吗? 我看不到任何对此行为的引用在 tibble site.

示例:

library(tidyverse)
df <- tibble(a = c("hjhjh", "popopo"), d = c(1, 2))
df
# # A tibble: 2 x 2
#   a          d
#   <chr>  <dbl>
# 1 hjhjh      1
# 2 popopo     2

df_with_space <- tibble(a = c("hjhjh ", "popopo"), d = c(1, 2))
df_with_space
#quotation marks:
# # A tibble: 2 x 2
#   a            d
#   <chr>    <dbl>
# 1 "hjhjh "     1
# 2 "popopo"     2

谢谢

tibble 使用 pillar 打印选项,比较:

> pillar::pillar("abc")
<pillar>
<chr>
abc  

> pillar::pillar(" def")
<pillar>
<chr> 
" def"

As of tibble 3.1.0, printing is handled entirely by the pillar package.