Comment les données du groupe.tableau sur plusieurs colonnes?

Je suis en utilisant le data.table paquet pour accélérer certains résumé de la collecte de statistiques sur un ensemble de données.

Je suis curieux de savoir si il existe un moyen pour le groupe de plus d'une colonne. Mes données ressemble à ceci:

  purchaseAmt        adShown        url
   15.54            00001         150000001
    4.82            00002         150000001
  157.99            05005         776300044
   ...               ...            ...

Je peux faire quelque chose comme ceci:

adShownMedian <- df1[,median(purchaseAmt),by="adShown"]

pour obtenir à chaque annonce de la médiane. Comment pourrais-je faire quelque chose qui combine adShown et url?

J'ai essayé ceci:

adShownMedian <- df1[,median(purchaseAmt),by=c("adShown","url")]

mais pas de chance.

Des suggestions?

  • Quelle est la version de data.table utilisez-vous? Je suis assez certain que la version 1.8.2 vous permet de passer un caractère de vecteur de noms de colonne de la by argument.
  • Exactement. Une (très) vieille version des données.table, ou il y avait une autre erreur. ?data.table dit: "by - Un seul non cotées nom de la colonne, une liste() des expressions de la colonne de noms, une seule chaîne de caractères contenant séparés par des virgules de noms de colonnes, ou un caractère de vecteur de noms de colonne." Donc c("adShown","url") doit être fine, ou "adShown,url", ou list(adShown,url).
  • Bonne prise, je suis encore de retour sur l'1.8.
InformationsquelleAutor screechOwl | 2012-09-18