无法适应 RStudio Server 中 tbl_df 的 dplyr 屏幕

Cannot fit screen for tbl_df of dplyr in RStudio Server

我正在使用 RStudio 服务器(版本 0.98.994)和 dplyr(请参阅下面的会话信息)。但是 print tbl_df 对象无法适应屏幕。每行末尾总是有更多字符(见 scroonshot 中的红线)

我检查了浏览器:打印 tbl_df 对象在没有缩放的情况下适用于 Firefox,但不适用于 Chrome 和 Internet Explorer。检查前浏览器历史是干净的。

感谢您提出任何修复建议。

> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C            LC_COLLATE=C         LC_MONETARY=C        LC_MESSAGES=C       
 [7] LC_PAPER=C           LC_NAME=C            LC_ADDRESS=C         LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] hflights_0.1     dplyr_0.4.1.9000

loaded via a namespace (and not attached):
[1] DBI_0.3.1      Rcpp_0.11.3    assertthat_0.1 magrittr_1.5   parallel_3.1.1 tools_3.1.1   

这看起来可能只是 tbl_df 打印方法的结果,当 space 非常紧凑时,该方法会进一步截断第一列。

这是来自 dplyr:::trunc_mat 的片段,用于 dplyr:::print.tbl_df

... 
rownames(df) <- NULL
is_list <- vapply(df, is.list, logical(1))
df[is_list] <- lapply(df[is_list], function(x) vapply(x, 
    obj_type, character(1)))
mat <- format(df, justify = "left")
width <- width %||% getOption("dplyr.width", NULL) %||% getOption("width")
values <- c(format(rownames(mat))[[1]], unlist(mat[1, ]))
names <- c("", colnames(mat))
w <- pmax(nchar(values), nchar(names))
cumw <- cumsum(w + 1)
too_wide <- cumw[-1] > width
if (all(too_wide)) {
    too_wide[1] <- FALSE
    df[[1]] <- substr(df[[1]], 1, width)
}
...

您可以将一个或多个参数调整为 trunc_mat()print.tbl_df(),或者尝试使用不同的打印方法打印 table。

您也可以尝试调整 dplyr 打印选项,例如

> grep("dplyr", names(options()), value=TRUE)
[1] "dplyr.print_max"  "dplyr.print_min"  "dplyr.strict_sql"