Comment combiner deux fonctions dans R?

Rafael Jeremiah Jonathans

J'ai deux fonctions et je souhaite combiner les deux en une seule fonction. Par exemple, j'ai deux fonctions différentes avec les mêmes arguments multiples comme suit:

fun1 <- function(a, b){
            print(a * b)}

fun2 <- function(a, b){
            print(a + b)}

Que puis-je faire en utilisant les fonctions existantes pour combiner les deux en une seule afin de pouvoir avoir une fonction comme celle-ci:

fun3 <- function(a, b){
            print(a * b)
            print(a + b)}

Je vous remercie

G. Grothendieck

En utilisant fun1et à fun2partir de la question, nous pouvons définir bothqui les exécute séquentiellement. Nous le testons également.

both <- function(...) {
  fun1(...)
  fun2(...)
}

# test
both(1, 2)
## [1] 2
## [1] 3

Ou si vous vouliez renvoyer leurs sorties:

both2 <- function(...) list(fun1(...), fun2(...))

Alternativement, nous pouvons définir une fonction de fabrique qui, étant donné deux fonctions ayant les mêmes arguments, crée une fonction qui les exécute en séquence.

Combine <- function(FUN1, FUN2) {
  function(...) { FUN1(...); FUN2(...) }
}

# test 
mewfun <- Combine(fun1, fun2)
newfun(1, 2)
## [1] 2
## [1] 3

ou si vous vouliez retourner leurs sorties

Combine2 <- function(FUN1, FUN2) {
  function(...) list(FUN1(...), FUN2(...))
}

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

TOP liste

  1. 1

    Comment utiliser HttpClient avec TOUT cert ssl, quelle que soit la « mauvaise » est

  2. 2

    Comment afficher du texte au milieu de div avec une couleur d'arrière-plan différente?

  3. 3

    Résultat de l'échantillonneur JMeter : comprendre le temps de chargement, le temps de connexion et la latence

  4. 4

    Modbus Python Schneider PM5300

  5. 5

    Pourquoi Object.hashCode () ne suit pas la convention du code Java

  6. 6

    Comment faire une recherche partielle et obtenir un score pertinent dans Elasticsearch

  7. 7

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  8. 8

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  9. 9

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  10. 10

    Comment changer la couleur de la police dans R?

  11. 11

    Autocomplete avec java, Redis, Recherche élastique, Mongo

  12. 12

    MasterService d'ElasticSearch prend trop de temps pour calculer l'état du cluster et lancer ProcessClusterEventTimeoutException

  13. 13

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  14. 14

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  15. 15

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  16. 16

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

  17. 17

    Quelque chose dans le cluster Elasticsearch 7.4 devient de plus en plus lent avec les délais de lecture de temps en temps

  18. 18

    Ajustement non linéaire avec R

  19. 19

    php ajouter et fusionner des données de deux tables

  20. 20

    Exporter la table de l'arborescence vers CSV avec mise en forme

  21. 21

    帶有 Spring Boot 和 Azure AD 的 KeyCloak

chaudétiquette

Archive