R是否等效于Python的'*'?

安娜·尼维森(Anna Nevison)

在python中,您可以执行以下操作:

val = [1, 2, 3]

def f(a, b, c):
    return(a+b+c)

f(*val)

>>>6

但是,是否有一个R等效于将列表/向量传递给函数并解压缩列表/向量作为函数的参数?

val <- c(1, 2, 3)
f <- function(a, 
              b, 
              c) {
     a+b+c
     }
#f(*val)
G.格洛腾迪克

基数R

do.call在R中是do.call第一个参数是函数或给出函数名称的字符串,第二个参数是一个列表,其组件将作为各个参数传递给该函数。不使用任何软件包。

val <- c(1, 2, 3)
f <- function(a, b, c) a+b+c
do.call("f", as.list(val))
## [1] 6

减少另一种方法是f使用固定的第一个参数来咖喱创建一个新函数,反复使用此方法Reduce来处理每个连续的参数。不使用任何软件包。

Reduce(function(f, x, ...) function(...) f(x, ...), val, init = f)()
## [1] 6

rr包

invoke purrr软件包invoke基本上只是调用,do.call但是如果第二个参数还不是列表,它将把第二个参数转换为列表:

library(purrr)
invoke(f, val)
## [1] 6

lift purrr还具有lift将带单个参数的函数转换为带列表或向量的新函数的功能。它也包裹do.call

lift(f)(val)
## [1] 6

部分purrr也具有partial该函数,该函数将咖喱函数创建一个新函数,其中第一个参数固定,仅保留其余参数,因此使用reduce(也在purrr中)重复调用这种循环:

reduce(val, partial, .init = f)()
## [1] 6

功能包

Curry功能包中的Curry也可用于修复第一个参数。Reduce基数R一起使用以重复应用Curry时,其结果相同。注意内部Curry使用do.call

library(functional)
Reduce(Curry, init = f, val)()
## [1] 6

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R是否等效于Python函数“ dir”?

来自分类Dev

R是否等效于Python的pandas.merge_asof?

来自分类Dev

R是否适用于多列等效于Python?

来自分类Dev

R的粘贴功能是否等效于BASH?

来自分类Dev

python是否等效于Javascript的“ btoa”

来自分类Dev

Ruby是否等效于Python的“ try”?

来自分类Dev

Python是否等效于Java的“密钥库”?

来自分类Dev

等效于R的grepl的最简单的python

来自分类Dev

等效于R的gsub的最简单的python

来自分类Dev

Python等效于R interact()函数

来自分类Dev

setNames是否等效于R中的列名和行名?

来自分类Dev

是否等效于R中Excel的= PERCENTRANK.EXC函数?

来自分类Dev

R是否可以等效于嵌套在VLOOKUP中的HLOOKUP?

来自分类Dev

等效于Python的JRE

来自分类Dev

是否等效于JavaScript中Python的KeyError异常?

来自分类Dev

Perl是否等效于Python的hash(或Java的hashCode)函数?

来自分类Dev

在nodejs中是否有等效于Python的virtualenv?

来自分类Dev

haskell ghci是否有等效于python`dir`的东西?

来自分类Dev

Elixir中是否有等效于Python的dir()

来自分类Dev

Python中的容器是否有等效于@property的容器?

来自分类Dev

C ++的std :: regex是否等效于Python的re.MULTILINE?

来自分类Dev

Haskell是否等效于python -m http.server?

来自分类Dev

Python列表的+ =运算符是否等效于append()或extend()?

来自分类Dev

Elixir中是否有等效于Python的defaultdict的代码?

来自分类Dev

在Java中是否有等效于Python的exec()函数?

来自分类Dev

Emacs Lisp中是否有等效于Python的__file__

来自分类Dev

Python是否等效于Java的Set.add()?

来自分类Dev

是否有Python(3)本机等效于rlwrap调用脚本?

来自分类Dev

是否有MatLab等效于Python matplotlib的tight_layout()?

Related 相关文章

  1. 1

    R是否等效于Python函数“ dir”?

  2. 2

    R是否等效于Python的pandas.merge_asof?

  3. 3

    R是否适用于多列等效于Python?

  4. 4

    R的粘贴功能是否等效于BASH?

  5. 5

    python是否等效于Javascript的“ btoa”

  6. 6

    Ruby是否等效于Python的“ try”?

  7. 7

    Python是否等效于Java的“密钥库”?

  8. 8

    等效于R的grepl的最简单的python

  9. 9

    等效于R的gsub的最简单的python

  10. 10

    Python等效于R interact()函数

  11. 11

    setNames是否等效于R中的列名和行名?

  12. 12

    是否等效于R中Excel的= PERCENTRANK.EXC函数?

  13. 13

    R是否可以等效于嵌套在VLOOKUP中的HLOOKUP?

  14. 14

    等效于Python的JRE

  15. 15

    是否等效于JavaScript中Python的KeyError异常?

  16. 16

    Perl是否等效于Python的hash(或Java的hashCode)函数?

  17. 17

    在nodejs中是否有等效于Python的virtualenv?

  18. 18

    haskell ghci是否有等效于python`dir`的东西?

  19. 19

    Elixir中是否有等效于Python的dir()

  20. 20

    Python中的容器是否有等效于@property的容器?

  21. 21

    C ++的std :: regex是否等效于Python的re.MULTILINE?

  22. 22

    Haskell是否等效于python -m http.server?

  23. 23

    Python列表的+ =运算符是否等效于append()或extend()?

  24. 24

    Elixir中是否有等效于Python的defaultdict的代码?

  25. 25

    在Java中是否有等效于Python的exec()函数?

  26. 26

    Emacs Lisp中是否有等效于Python的__file__

  27. 27

    Python是否等效于Java的Set.add()?

  28. 28

    是否有Python(3)本机等效于rlwrap调用脚本?

  29. 29

    是否有MatLab等效于Python matplotlib的tight_layout()?

热门标签

归档