2010-08-05 16 views
3

Simple question, mais ne trouve pas la réponse.Dynamique "chaîne" dans R

Au lieu de:

Df <- sqlQuery(ch, "SELECT * FROM tblTest WHERE Id=25") 

Je veux un morceau plus dynamique de code. Quelque chose comme:

Id <- 25 
Df <- sqlQuery(ch, c("SELECT * FROM tblTest WHERE Id=", Id)) 

Mais ce n'est pas correct.

Répondre

5

Nous pouvons utiliser la pâte:

Df <- sqlQuery(ch, paste("SELECT * FROM tblTest WHERE Id =", Id)) 

c concatène dans un vecteur, paste est concaténation de chaînes.

Ou nous pouvons utiliser sprintf:

sprintf("SELECT * FROM tblTest WHERE Id = %s", Id) 
+0

Pour les amateurs de C il est 'sprintf' qui fonctionne comme en C. – mbq