Envoyer une chaîne de texte contenant des guillemets pour fonction

Je vais avoir un problème avec l'aide de guillemets doubles alors que le formatage des chaînes de texte envoyés à des fonctions dans l'arrêt R.

Prenons comme exemple le code de la fonction:

foo <- function( numarg = 5, textarg = "** Default text **" ){ 
    print (textarg)
    val <- numarg^2 + numarg
    return(val) 
}

lors de l'exécution de la manière suivante:

foo( 4, "Learning R is fun!" )

La sortie est:

[1] "Learning R is fun!"
[1] 20

Mais quand j'essaie (de diverses manières, comme l'a suggéré ici) pour écrire "R" au lieu de R, j'obtiens les résultats suivants:

> foo( 4, "Learning R is fun!" )
[1] "Learning R is fun!"
[1] 20
> foo( 4, "Learning "R" is fun!" )
Error: unexpected symbol in "funfun( 4, "Learning "R"
> foo( 4, "Learning \"R\" is fun!" )
[1] "Learning \"R\" is fun!"
[1] 20
> foo( 4, 'Learning "R" is fun!' )
[1] "Learning \"R\" is fun!"
[1] 20

À l'aide de as.character(...) ou dQuote(...) comme l'a suggéré ici semble se décomposer la fonction en raison de différents nombre d'arguments.

OriginalL'auteur Khaloymes | 2012-11-19