我经常发现自己在使用时在变量名中做出了错误的选择purrr.
library(purrr)
mtcars %>%
split(.$cyl)
Run Code Online (Sandbox Code Playgroud)
在split(.$cyl)我经常犯错误的使用split(cyl).这似乎是最明显的选择,因为它与其他tidyverse命令一致select(cyl).
我的问题是为什么.$在变量名前面.
akr*_*run 10
的.表示该数据对象,并通过使用$其提取柱.它也可以接受
mtcars %>%
split(.[['cyl']]
Run Code Online (Sandbox Code Playgroud)
随着在mutate/summarise/group_by/select/arrange等,我们可以简单地通过列名,但它是不同的,因为split是一个base R功能,它无法找到数据集的环境中,列"团"是,除非我们提取列
我们可以做的一个选择tidyverse是nest除了'cyl'之外的所有其他变量
mtcars %>%
nest(-cyl)
Run Code Online (Sandbox Code Playgroud)
现在,我们有一个list名为'data'的列,其中包含所有其他列list的'data.frame`