Je veux essayer de créer une fonction qui va générer des heatmaps en appelant heatmap.2. Entre autres choses, je veux générer le titre des parcelles en appelant add.expr, par exemple:passer un caractère généré en utilisant paste() à mtext()
add.expr=c(mtext(text=titlestring, side=3, line=4, cex=1)
Avec titlestring étant un vecteur de charqacter passé à la fonction par une autre fonction:
titlestring<-paste("Mean bin methylation",samplename, "on 5kb flanked CpG Island promoters in mm9")
Quand j'essaye d'exécuter ma fonction j'obtiens l'erreur suivante:
Error in as.graphicsAnnot(text) : object 'titlestring' not found I do know that titlestring is defined in the scope of my funciton , as I tested this using
print()
I thouhgt that the problem my be related to the fact themtext()
expects an exprssion object, so I coerced titlestring to an expression usingas.expression()
. But I still get this error.
N'importe quelle idée ce pourrait être le problème?
Merci à l'avance
Dolev Rahat
Votre commande titlestring donne une erreur, car samplename ne sait pas. Pourquoi ne pas utiliser quelque chose comme main = titlestring dans l'appel heatmap? –
@RuthgerRighart: Merci. L'utilisation de main est en effet une possibilité, mais puisque je veux ajouter un titre secondaire, je préfère toujours utiliser add.expr() car il est plus fleixble. samplename est un vecteur de caractères engendré par ma fonction d'appel basée sur l'un de ses arguments, donc il est défini (comme je l'ai dit, j'ai également vérifié que la chaîne de titre est visible pour la fonction interne). N'y a-t-il aucune possibilité d'appeler mtext() avec des vecteurs de caractères transmis par une autre fonction? – user1614062
Je ne suis pas sûr de ce que vous voulez exactement, il serait bon d'avoir un exemple de données. S'il vous plaît trouver une solution de contournement possible dans la boîte de réponse, espérons que cela aide! –