html漂亮表格效果_让你的表格更加漂亮

大家都知道SPSS软件出来的结果很漂亮,也都知道R语言画图的能力很强,但是大家对表格的输出可能就很少了解了,可能大多数人大都局限于命令行的输出,但是这样太丑了。实际上有个包GT。可以将表格输出的更加漂亮。比如下方的:

d94cf68f71a085b0e25c851db0d625fb.png

实际上,代码很简单,只需要使用gt()函数就行了。

#install.packages("gt")library(gt)library(tidyverse)library(glue)# Define the start and end dates for the data rangestart_date end_date # Create a gt table based on preprocessed# `sp500` table datasp500 %>%  dplyr::filter(date >= start_date & date <= end_date) %>%  dplyr::select(-adj_close) %>%  gt() %>%  tab_header(    title = "S&P 500",    subtitle = glue::glue("{start_date} to {end_date}")  ) %>%  fmt_date(    columns = vars(date),    date_style = 3  ) %>%  fmt_currency(    columns = vars(open, high, low, close),    currency = "USD"  ) %>%  fmt_number(    columns = vars(volume),    suffixing = TRUE  )

上面的12-14行就是对一个数据框进行操作。

上面的15行就是将这个数据框传递给gt,然后gt就可以自动处理这个表格。

上面的16-18行加主标题和副标题,副标题的glue函数就是将变量传递到一个字符串,这个格式和python的f'{var_1}babba{var_2}'很像。

上面的20-23行代码就是说,对date这列(实际上这个时候date已经数据gt函数处理后的对象了)操作,更改他的显示格式。

上面的24-27行就是将open,high,low,close这列的显示格式更改为货币格式,货币为美元。

上面的28-31行就是将volume这列,suffixing这个选项通俗的说,就是13000 -> 1.3w(万)

如果想对某一列字符串进行更加复杂的转换,那根本不需要改变数据框,可以使用text_transform函数,只要在这个函数里面的fn传递给一个函数就可以,像下图的写法:可以看出来给fn这个参数传递了一个很小的函数。

07355214cfd4f77c20f6b1edb95aa764.png

那么问题来了,我觉得还有一个问题就是缺失值怎么办。比如下图有几个缺失值,大部分人都不愿意显示出NA

2ed982553349837c14003dbef530291a.png

实际上,这个也是可以改的。可以指定那些列对缺失值显示出你想要文本。

ad20e134cafc89c59908d83a63520897.png

上面的代码就是对1:2列填写missing这个文本,4:7列填写nothing这个文本。效果如下:

463593cea3cd2d9282c1bf01f005230e.png

如果不想显示任何东西,直接传入一个空的就行,比如代码如下:

4c0be6497f14029cd54b667e47fd91cc.png

可以看得出上面missing_text这个参数只是空格(但是依然要用双引号)。

其实看这个文章的第一个图就知道,这个图没有显示在plot窗口,而是在viewer这个窗口,再看看这个包官方写的教程,你会发现这个东西搞不好又是一个富文本格式,比如html这样的。实际上你只要放大,就可以看出来:

7acbf9baa89456f41eb8f6f7d8746b6c.png

acf26a0e6c3087bc0c87ea6d5e3294bc.png

因此这个里面可以写很多html格式的语法。那么下面这样的表R肯定也很容易实现了:

f2df91f949266c6a02e4d050cc248f2e.png

如何保存,很简单:和ggplot2的ggsave一样,只要使用gtsave就行了。

但是gt这个包不是第一个可以显示表格的包,很多包之前都已经有这样的功能。

6c6b7793ea4dec9fe426e4af06c63f79.png

差点忘记gt的工作流程:

06715bff82322f968fb889bf6db52f2b.png

grammar of tables. It aims to do for tables what ggplot2 did for graphics. It’s still early days and tables are surprisingly complicated, but this is a very exciting package by a skilled developer!

https://twitter.com/hadleywickham/status/1247997744469295104

欢迎关注艺术的搬运工

fa0577120c9194d0ad8dbbcbc6ef3ba1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值