Modifier la valeur par défaut d'une fonction "nested" dans une autre fonction

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Nicolas Romillac
Messages : 30
Enregistré le : 07 Jan 2020, 13:53

Modifier la valeur par défaut d'une fonction "nested" dans une autre fonction

Messagepar Nicolas Romillac » 02 Mai 2022, 12:59

Bonjour à tous,
j'ai une question qui a surement une réponse simple.

J'utilise la fonction Ostats::Ostats_plot. Dans son code, cette fonction appelle la fonction ggplot2::stat_density. stat_density possède un argument bw, qui prend pour argument bw="nrd0" (pratiquement, il s'agit de calculer une kernel density, et bw est la méthode de calcul de la largeur de bande).

J'aimerai modifier la valeur prise par bw (par exemple, bw="SJ"), mais Ostats_plot ne prévoit pas d'argument permettant de modifier cette valeur.
Existe-t-il un moyen simple de préciser à Ostats_plot qu'il doit aller modifier la valeur prise par l'argument bw dans la fonction stat_density? Bien sur, je pourrai modifier le code d'Ostats-plot et spécifier une nouvelle fonction, mais j'imagine qu'il n'y a pas besoin de faire tout ce bricolage...

Bonne journée à tous,

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Modifier la valeur par défaut d'une fonction "nested" dans une autre fonction

Messagepar Logez Maxime » 02 Mai 2022, 14:24

Bonjour,

Il n'y a pas de solutions simple. En tout cas pas à ma connaissance.

Si la fonction "supérieure" ne prévoit pas d'arguments ou une manière quelconque de modifier les arguments de la fonction inférieure (ex. les ...) alors il n'y a pas de possibilités de modifier les arguments par défaut de la fonction "inférieure".
C'est l'intérêt des valeurs par défaut des arguments, si on ne spécifie rien la fonction peut quand même exécuter son code avec cette valeur.

Cordialement,
Maxime

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Modifier la valeur par défaut d'une fonction "nested" dans une autre fonction

Messagepar Mickael Canouil » 02 Mai 2022, 18:26

Bonjour,

faites la modification/ajout et proposer le changement via un PR sur GitHub ou modifier le code uniquement pour votre usage personnel.

Source : https://github.com/NEON-biodiversity/Os ... ats_plot.R

Edit : La version "ggplot2 hack"

Code : Tout sélectionner

library(ggplot2)

<- ggplot(diamonds, aes(carat)) +
  stat_density()

p$layers[[1]]$stat_params$bw
#> [1] "nrd0"
p


Image

Code : Tout sélectionner

p$layers[[1]]$stat_params$bw <- "SJ"
p$layers[[1]]$stat_params$bw
#> [1] "SJ"
p


Image

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Nicolas Romillac
Messages : 30
Enregistré le : 07 Jan 2020, 13:53

Re: Modifier la valeur par défaut d'une fonction "nested" dans une autre fonction

Messagepar Nicolas Romillac » 03 Mai 2022, 08:53

Merci pour vos réponses,

bonne journée


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité

cron