【问题标题】:R, knitr, pander - How to nicely format summary() of datesR,knitr,pander - 如何很好地格式化日期的摘要()
【发布时间】:2015-12-28 11:52:05
【问题描述】:

我正在使用summary()knitr 文档中生成简单的日期变量摘要,并希望将结果格式化。

summary(some_date)

产生我想要的结果(值显示为日期),但格式不正确。所以,我尝试了:

pander::pander(summary(some_date))

这会产生格式良好的结果,但值显示为整数而不是日期。 (这适用于 Date、POSIXct 和 POSIXlt 日期)。

有什么方法可以很好地格式化 knitr 文档中日期的 summary() 的结果吗?也许除了pander 之外还有一些更适合这个任务的包。

以下示例:

summary(some_date)
##         Min.      1st Qu.       Median         Mean      3rd Qu. 
## "2014-05-01" "2015-02-15" "2015-06-17" "2015-05-05" "2015-09-08" 
##         Max. 
## "2015-11-21"

pander::pander(summary(some_date))
Min.    1st Qu. Median  Mean    3rd Qu. Max.
16191   16481   16603   16560   16686   16760

sessionInfo()
## R version 3.2.3 (2015-12-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 14.04.3 LTS
## 
## locale:
##  [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8    
##  [5] LC_MONETARY=en_AU.UTF-8    LC_MESSAGES=en_AU.UTF-8   
##  [7] LC_PAPER=en_AU.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] pander_0.6.0  ggplot2_2.0.0 daff_0.1.4    magrittr_1.5  dplyr_0.4.3  
## [6] readr_0.2.2  
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_0.12.2      knitr_1.11       munsell_0.4.2    lattice_0.20-33 
##  [5] colorspace_1.2-6 R6_2.1.1         plyr_1.8.3       stringr_1.0.0   
##  [9] tools_3.2.3      parallel_3.2.3   grid_3.2.3       packrat_0.4.6-4 
## [13] nlme_3.1-122     gtable_0.1.2     mgcv_1.8-7       DBI_0.3.1       
## [17] htmltools_0.2.6  lazyeval_0.1.10  yaml_2.1.13      assertthat_0.1  
## [21] digest_0.6.8     Matrix_1.2-3     formatR_1.2.1    curl_0.9.4      
## [25] evaluate_0.8     rmarkdown_0.9    labeling_0.3     V8_0.9          
## [29] stringi_1.0-1    scales_0.3.0     jsonlite_0.9.19

【问题讨论】:

  • pander::pander(summary(Sys.Date() + sample(-50:50, 100, TRUE))) 给了我格式很好的日期,而不是整数....您能否提供一个重现您的问题的示例,或者可能包含一些显示您从“pander”获得的输出?
  • 请使用相关会话信息或您正在使用的相关软件包版本的详细信息更新您的问题。
  • Anando,我刚刚尝试了您的代码 sn-p,得到的是整数而不是日期。我正在使用 pander 0.6.0、knitr 1.11、rmarkdown 0.9 和 R 3.2.3。这是我第一次使用pander,所以很可能有一些我没有正确设置的全局选项。
  • 这似乎是最近才推出的。当我发布第一条评论时,“迎合”我的另一个系统的版本有点过时了。临时解决方案:使用as.character:pander(as.character(summary(Sys.Date() + sample(-50:50, 100, TRUE))))....
  • 耶!这对我有用:pander(as.character(summary(Sys.Date() + sample(-50:50, 100, TRUE)))) - 这是需要通知pander 维护者的事情吗?

标签: r date knitr pander


【解决方案1】:

感谢错误报告,development version of pander 现在应该可以正确呈现:

> pander::pander(summary(as.Date('2015-01-01') + 1:100))

-----------------------------------------------------------------
   Min.     1st Qu.     Median      Mean     3rd Qu.      Max.   
---------- ---------- ---------- ---------- ---------- ----------
2015-01-02 2015-01-26 2015-02-20 2015-02-20 2015-03-17 2015-04-11
-----------------------------------------------------------------

【讨论】:

    猜你喜欢
    • 2012-10-18
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多