Récupérer le résultat d'une requête SQL
Bonjour,
J'ai créé une requête dans SAS avec une variable "into" qui fonctionne parfaitement. Je voudrais recréer l'équivalent dans R.
Dans SAS :
Code:
"select count(REF_CPTE) into: cpte from COMPTE where NAT = 'bp' ;"
Dans R, j'ai établi une connexion ODBC sur table Access. La connexion est ok... (je parviens à lister la structure de la base avec sqlTables) :
Code:
1 2 3
| library("RODBC")
jan <- odbcConnect(dsn="jan")
cpte <- sqlQuery( jan , paste ('select count(REF_CPTE) into: \"cpte\" from COMPTE', 'where NAT = "bp"')) |
Je cherche donc à récupérer la valeur de la variable cpte sans y parvenir. Je ne trouve rien sur le sujet et travaille avec R depuis peu.
Merci de votre aide.
Récupérer le résultat d'une requête SQL
Bonjour,
Je n'ai pas réussi à installer le package RODBC mais le principe doit être le même :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| > str(iris)
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
> library(sqldf)
> n <- sqldf('select count(*) from iris where Species="setosa"')
> str(n)
'data.frame': 1 obs. of 1 variable:
$ count(*): int 50 |
On peut donc récupérer la valeur de n ainsi :
Code:
1 2 3
| > n <- sqldf('select count(*) from iris where Species="setosa"')$count
> str(n)
int 50 |
NB : Dans SAS, vous n'avez pas créé une variable into mais une macro-variable compte à l'aide de l'instruction into :compte.
Cordialement,