首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >purrr语法的清晰性

purrr语法的清晰性
EN

Stack Overflow用户
提问于 2018-03-06 12:57:47
回答 1查看 186关注 0票数 11

在使用purrr时,我经常发现自己在变量名中做了错误的选择。

例如,以咕噜的github页面上的代码为例。

代码语言:javascript
复制
library(purrr)

mtcars %>%
  split(.$cyl)

split(.$cyl)中,我经常犯使用split(cyl)的错误。这似乎是最明显的选择,因为它与其他tidyverse命令(如select(cyl) )是一致的。

我的问题是为什么变量名前面的.$

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-06 12:59:04

.表示数据对象,通过使用$提取列。它也可以接受

代码语言:javascript
复制
mtcars %>%
    split(.[['cyl']]

mutate/summarise/group_by/select/arrange等中,我们可以简单地传递列名,但是在那里它是不同的,因为split是一个base R函数,除非我们提取列,否则它无法找到列'cyl‘所在的数据集环境。

tidyverse中,我们可以做的一种选择是nest除“cyl”之外的所有其他变量。

代码语言:javascript
复制
mtcars %>%
    nest(-cyl) 

现在,我们有一个名为'data‘的list列,它包含所有其他列,作为'data.frame`s’的list

有了新版本的dplyr (0.8.1测试),就会出现@Moody_Mudskipper注释的group_split

代码语言:javascript
复制
mtcars %>%
       group_split(cyl)
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49131438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档