J'utilise le paquet sqldf dans R et j'essaie de trouver le nombre de valeurs qui sont 1 et 2 dans une seule colonne. Mes données ressemble:Comptage des valeurs dans une seule colonne
> head(d)
bid status
1 201-300 1
2 201-300 1
3 901-1000 2
4 601-700 1
5 801-900 1
6 801-900 2
Je suis en train de trouver la statut quand il est égal à 1 et le nombre de statut quand il est égal à 2, puis les ai dans deux colonnes distinctes.
Donc, en utilisant le paquet sqldf dans R, je courais le code suivant:
sqldf("SELECT bid, SUM(IF(status='2', 1,0)) AS 'won', SUM(IF(status='1', 1,0)) AS 'lost', COUNT(bid) FROM d GROUP BY bid")
Cependant, je reçois le message d'erreur suivant.
Error in sqliteExecStatement(con, statement, bind.data) :
RS-DBI driver: (error in statement: no such function: IF)
Est-ce impossible avec le paquet sqldf? Existe-t-il un moyen d'obtenir les résultats souhaités avec une autre commande sql dans R? (Ou avec plyr, remodeler, ou tout autre outil R)
utilisez 'table (d $ status)' – Andrie
Votre requête est une requête mysql valide. est cette question à propos de mysql? –