dplyr-package: Wie kann ich die Abfrage von großen Daten-frame mit like '%xyz%' SQL-syntax?

dplyr ist das einzige Paket, das verarbeiten kann, meine 843k Daten.Rahmen und Abfragen in einer schnellen Weise.
Ich kann filter fein mit etwas Mathe und gleiche Kriterien, aber ich brauche eine Suchfunktion zu implementieren, für ein Konzept.

Brauche ich so etwas sqldf Abfrage

library(sqldf)
head(iris)
sqldf("select * from iris where lower(Species) like '%nica%'")

In dplyr-Hilfe konnte ich nicht finden, wie ich es tun könnte. so etwas wie:

filter(iris,Species like '%something%')

Den Start-und End % ist sehr wichtig. Beachten Sie auch, dass die Daten-frame hat 800+k Zeilen, so dass traditionelle R-Funktionen kann langsam laufen. Es muss Biene, einer dplyr-basierte Lösung.

  • dplyr is the only package that can handle my 843k data.frame Ich sehr empfehlen, das R-Paket data.table.
  • Ich traf eine Entscheidung, um den Fokus auf dplyr-syntax und "skip Daten.Tabelle" Meine ganze app ist verpflichtet dplyr so Daten.Tisch-Lösung ist OK, aber native dplyr am besten ist. Ich denke, dplyr IST mit Daten.Tabelle unter der Haube.
  • dplyr können gemeinsam mit Daten der Tabellen, aber es sei denn, Sie explizit laden data.table und konvertieren Sie Ihre Daten.frames zu Daten.Tabellen, es wird nicht verwenden Sie es unter der Haube. Dies könnte Ihnen zusätzliche Geschwindigkeit erhält.
InformationsquelleAutor userJT | 2014-07-22
Schreibe einen Kommentar