试图以更紧凑的方式在dplyr中使用select

费尔南多·霍切斯·德拉瓜迪亚

我正在尝试使用dplyr和%>%符号进行多项选择。什么有效:

   select(data, b1:b10) / select(data, v1:v10)

我想做的是:

data %>% select(b1:b10)/select(v1:v10)   
弗里克先生

关于什么

#sample data
data<-data.frame(matrix(runif(20*45), ncol=20, 
    dimnames=list(NULL, paste0(rep(c("b","v"), each=10),1:10))) )

#orig
A<-select(data, b1:b10) / select(data, v1:v10)

#proposed
B<-data %>% function(X) {select(X, b1:b10)/select(X, v1:v10)}

#verify they are the same
all(A==B)

我也有一个名为withX的辅助函数,在这种情况下我经常使用

C <- data %>% withX( select(X, b1:b10) / select(X, v1:v10) )
all(C==A)
# [1] TRUE

或者在这种情况下,我们可能希望使用另一个帮助程序功能来处理链并创建不同子集的列表。考虑功能each

each<-function(.data, ...) {
    dots <- substitute(list(...))[-1]
    force(.data)
    e<-environment()
    parent.env(e)<-parent.frame()
    lapply(dots, function(x) {
        eval(bquote(.data %>% .(x)), e)
    })
}

此函数将为dplyr您传入的每个参数执行链接。因此您可以执行

D <- data %>% each(select(b1:b10), select(v1:v10)) %>% Reduce(`/`, .)
all(A==D)
# [1] TRUE

现在,我意识到所有这些替代方法在字符更少的意义上并不是“紧凑的”。但是您只需要指定一次data.frame名称。就是这样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

试图以更紧凑的方式在dplyr中使用select

来自分类Dev

是否有更紧凑的方式在批处理文件中使用IF循环功能?

来自分类Dev

我可以使用Typescript以更紧凑的方式创建服务吗?

来自分类Dev

使用“ self”或“ this”进行JavaScript压缩是否更紧凑?

来自分类Dev

未使用迭代变量的更紧凑的列表理解

来自分类Dev

如何使用快速点图表使点更紧凑

来自分类Dev

Selenium Python-输入用户名和密码的更紧凑或更Pythonic的方式吗?

来自分类Dev

有没有更紧凑/优雅的方式来编写此代码?

来自分类Dev

有没有更紧凑的方式来编写该语句?

来自分类Dev

以更紧凑的方式显示wget传输(同时保留错误检测功能)

来自分类Dev

无需外部库,以更紧凑的方式初始化哈希图

来自分类Dev

jQuery代码使代码更紧凑

来自分类Dev

如何使“ breadthfirst”布局更紧凑

来自分类Dev

在`dplyr`动词中使用未加引号的字符串:`select`和`arrange`的工作方式不同

来自分类Dev

在`dplyr`动词中使用未加引号的字符串:`select`和`arrange`的工作方式不同

来自分类Dev

如果使用largo,则替换为largo,否则使用FOR或更紧凑的产品替换

来自分类Dev

有没有更紧凑的方法可以在函数内使用AngularJS返回延迟?

来自分类Dev

使用Invoke-Expression浏览复杂/嵌套哈希表的更紧凑/更优雅的方法吗?

来自分类Dev

日志中更紧凑的相对日期?

来自分类Dev

更紧凑的“收益率回报”方法?

来自分类Dev

重构这个,直到语句更紧凑?

来自分类Dev

如何使vc-diff输出更紧凑

来自分类Dev

如何使此F#代码更紧凑

来自分类Dev

更紧凑的Eclipse自动完成代码

来自分类Dev

用Python编写更紧凑的if语句

来自分类Dev

如何使此代码更紧凑/更高效?

来自分类Dev

用Python编写更紧凑的if语句

来自分类Dev

如何使大的 if/else 语句更紧凑?

来自分类Dev

在perl中,是否有一种更紧凑的方式来搜索多种模式,对于每种模式,都可以用表达式代替

Related 相关文章

  1. 1

    试图以更紧凑的方式在dplyr中使用select

  2. 2

    是否有更紧凑的方式在批处理文件中使用IF循环功能?

  3. 3

    我可以使用Typescript以更紧凑的方式创建服务吗?

  4. 4

    使用“ self”或“ this”进行JavaScript压缩是否更紧凑?

  5. 5

    未使用迭代变量的更紧凑的列表理解

  6. 6

    如何使用快速点图表使点更紧凑

  7. 7

    Selenium Python-输入用户名和密码的更紧凑或更Pythonic的方式吗?

  8. 8

    有没有更紧凑/优雅的方式来编写此代码?

  9. 9

    有没有更紧凑的方式来编写该语句?

  10. 10

    以更紧凑的方式显示wget传输(同时保留错误检测功能)

  11. 11

    无需外部库,以更紧凑的方式初始化哈希图

  12. 12

    jQuery代码使代码更紧凑

  13. 13

    如何使“ breadthfirst”布局更紧凑

  14. 14

    在`dplyr`动词中使用未加引号的字符串:`select`和`arrange`的工作方式不同

  15. 15

    在`dplyr`动词中使用未加引号的字符串:`select`和`arrange`的工作方式不同

  16. 16

    如果使用largo,则替换为largo,否则使用FOR或更紧凑的产品替换

  17. 17

    有没有更紧凑的方法可以在函数内使用AngularJS返回延迟?

  18. 18

    使用Invoke-Expression浏览复杂/嵌套哈希表的更紧凑/更优雅的方法吗?

  19. 19

    日志中更紧凑的相对日期?

  20. 20

    更紧凑的“收益率回报”方法?

  21. 21

    重构这个,直到语句更紧凑?

  22. 22

    如何使vc-diff输出更紧凑

  23. 23

    如何使此F#代码更紧凑

  24. 24

    更紧凑的Eclipse自动完成代码

  25. 25

    用Python编写更紧凑的if语句

  26. 26

    如何使此代码更紧凑/更高效?

  27. 27

    用Python编写更紧凑的if语句

  28. 28

    如何使大的 if/else 语句更紧凑?

  29. 29

    在perl中,是否有一种更紧凑的方式来搜索多种模式,对于每种模式,都可以用表达式代替

热门标签

归档