一直不是很懂.
和~
是怎么用的,万一别人的代码用上了这个我就很难看懂了……
这些是我主要的困惑:
- 什么情况下可以用
.
和~
?只能是管道内吗还是和管道没关系?
.
相当于一个索引,但是往往指代什么?
~
感觉像是一个省略标记,可以省略什么东西?
示例摘自R for Data Science。
library(magrittr)
library(purrr)
mtcars %>%
split(.$cyl) %>%
map(function(df) lm(mpg ~ wt, data = df))
#> $`4`
#>
#> Call:
#> lm(formula = mpg ~ wt, data = df)
#>
#> Coefficients:
#> (Intercept) wt
#> 39.571 -5.647
#>
#>
#> $`6`
#>
#> Call:
#> lm(formula = mpg ~ wt, data = df)
#>
#> Coefficients:
#> (Intercept) wt
#> 28.41 -2.78
#>
#>
#> $`8`
#>
#> Call:
#> lm(formula = mpg ~ wt, data = df)
#>
#> Coefficients:
#> (Intercept) wt
#> 23.868 -2.192
mtcars %>%
split(.$cyl) %>%
map(~ lm(mpg ~ wt, data = .))
#> $`4`
#>
#> Call:
#> lm(formula = mpg ~ wt, data = .)
#>
#> Coefficients:
#> (Intercept) wt
#> 39.571 -5.647
#>
#>
#> $`6`
#>
#> Call:
#> lm(formula = mpg ~ wt, data = .)
#>
#> Coefficients:
#> (Intercept) wt
#> 28.41 -2.78
#>
#>
#> $`8`
#>
#> Call:
#> lm(formula = mpg ~ wt, data = .)
#>
#> Coefficients:
#> (Intercept) wt
#> 23.868 -2.192
<sup>Created on 2019-04-09 by the reprex package (v0.2.1)</sup>