列格式

图书馆(颤抖)

概述

这个小插曲展示了如何为自定义格式装饰列。我们使用可格式化的包进行演示,因为它已经包含应用自定义格式的有用向量类数字。

图书馆(可格式化)

tbl(待定)<- 易怒的(x个= 数字(9:11,))
tbl(待定)
#>#A台:3×1
#>x个
#><表格ttbl>
#> 1 9.000
#> 2 10.000
#> 3 11.000

这个x个上面tibble中的列是一个正则数字使用格式化方法。它总是用三位数字显示小数点后。这也适用于从x个.

图书馆(dplyr)
tbl2(待定)<-
tbl(待定)%>%
  突变(
    年=x个+ 1,
    z(z)=x个*x、,
    v(v)=+z、,
    滞后,滞后= 滞后(x,默认=x个[[1]]),
    罪= (x) ,
    平均值= 意思是(v) ,
    无功功率,无功功率= 无功功率,无功功率(x)
)

tbl2(待定)
#>#A台:3×8
#>x y z v滞后sin均值var
#><dbl:fmt>
#> 1     9.000    10.000    81.000    91.000     9.000     0.412   111.667     1
#> 2    10.000    11.000   100.000   111.000     9.000    -0.544   111.667     1
#> 3    11.000    12.000   121.000   133.000    10.000    -1.000   111.667     1

摘要还保留格式。

tbl2(待定)%>%
  分组方式(_B)(滞后)%>%
  总结(z(z)= 意思是(z) )%>%
  取消分组()
#>#A台:2×2
#>滞后z
#><dbl:fmt>
#> 1     9.000    90.500
#> 2    10.000   121.000

枢轴操作也是如此。

图书馆(第三年)

股票<-
  展开网格(_grid)(标识= 因素(1:4),年= 2018:2022)%>%
  突变(股票= 货币(运行(20)* 10000))

股票%>%
  枢轴(_wider)(标识_颜色=身份证件,名称来自=年,值_来自=库存)
#>#A台:4×6
#>id `2018 `2019`2020 `2021`2022`
#><fct><dbl:fmt>
#> 1 1       $807.50 $8,343.33 $6,007.61 $1,572.08    $73.99
#> 2 2     $4,663.93 $4,977.77 $2,897.67 $7,328.82 $7,725.22
#> 3 3     $8,746.01 $1,749.41   $342.41 $3,203.86 $4,023.28
#> 4 4     $1,956.70 $4,035.38   $636.61 $3,887.01 $9,755.48

对于ggplot2,我们需要这样做一些工作show将格式应用于刻度。

图书馆(ggplot2)

#需求https://github.com/tidyverse/ggplot2/pull/4065或类似
股票%>%
  ggplot图(原子发射光谱(x个=年,年=库存,颜色=id))+
  地理线()

在流程的早期指定格式是值得的。这个下图显示了数据分析和从“R for data science”探索。

随后的图表添加了数据格式、通信选项和显式数据格式。突出显示原始r4ds转换以粗体显示。有两个主要选项可以应用格式结果:就在传达之前,或导入之后。

在流程的早期应用格式会带来以下额外好处在“整理”、“转换”和“可视化”阶段。为了使其有用,我们需要确保早期应用的格式选项:

确保粘性是困难的,对于dbplyr来说是不够的工作流中的“整理”、“转换”甚至“可视化”部分阶段在数据库上运行。通常可以导出基于规则的格式化方法。

tbl3(待定)<-
  易怒的(标识=信件[1:],x个= 9:11)%>%
  突变(
    年=x个+ 1,
    z(z)=x个*x、,
    v(v)=+z、,
    滞后,滞后= 滞后(x,默认=x个[[1]]),
    罪= (x) ,
    平均值= 意思是(v) ,
    无功功率,无功功率= 无功功率,无功功率(x)
)

tbl3(待定)
#>#A台:3×9
#>id x y z v滞后sin均值var
#><chr><int><dbl><int><dbl><int><dbl>
#>1 a 9 10 81 91 9 0.4121185 111.6667 1
#>2 b 10 11 100 111 9-0.5440211 111.6667 1
#>3 c 11 12 121 133 10-0.9999902 111.6667 1

tbl3(待定)%>%
  突变(
    穿过(哪里(为数字),~ 数字(.x,)),
    穿过(哪里(~ 是数字的(.x)&& 意思是(.x)> 50),~ 数字(.x,1))
)
#>#A台:3×9
#>id x y z v滞后sin均值var
#><chr><dbl:fmt><dbl:fmt>
#>1 a 9.000 10.000 81.0 91.0 9.000 0.412 111.7 1.000
#>2 b 10.000 11.000 100.0 111.0 9.000-0.544 111.7 1.000
#>3 c 11.000 12.000 121.0 133.0 10.000-1.000 111.7 1.000

这些规则可以存储在quos()(数量):

规则<- 夸斯(
  穿过(哪里(为数字),~ 数字(.x,)),
  穿过(哪里(~ 是数字的(.x)&& 意思是(.x)> 50),~ 数字(.x,1))
)

tbl3(待定)%>%
  突变(!!!规则)
#>#A台:3×9
#>id x y z v滞后sin均值var
#><chr><dbl:fmt><dbl:fmt>
#>1 a 9.000 10.000 81.0 91.0 9.000 0.412 111.7 1.000
#>2 b 10.000 11.000 100.0 111.0 9.000-0.544 111.7 1.000
#>3 c 11.000 12.000 121.0 133.0 10.000-1.000 111.7 1.000

这带来了一些缺点:

基于规则的格式的好API应该是什么样的?