Hallo, mein Name ist David Christensen und hier In den Lektionen erfahren Sie, wie Sie Daten durch Filterung manipulieren, zusammenfassen und zusammenführen. Außerdem erfahren Sie, wie Sie mit fehlenden Werten arbeiten. In dieser Lektion zeige ich Ihnen, wie Sie Daten filtern. Beginnen wir mit einigen Beispieldaten. Für diese Demonstration verwenden wir die mtcars-Datensatz, der in R integriert ist. Es ist also nicht nötig, etwas Besonderes zu laden, um mitzumachen. Um den mtcars-Datensatz anzuzeigen, können Sie einfach mtcars in eingeben Konsole. Dadurch wird der Datensatz ausgegeben. Was sind also diese Daten? Nun, es sind etwa 30 Beobachtungen Fahrzeuge, die 1974 in der Zeitschrift Motor Trend erschienen. Sie können die Namen der Fahrzeuge als Zeilennamen sehen. Werfen wir einen kurzen Blick auf einige der Spalten. Die Spalten enthalten MPG oder Meilen pro Gallone, CYL, die Anzahl der Zylinder, Hubraum in Kubikzoll, PS, das Fahrzeuggewicht, Art der Übertragung, zusammen mit einem anderen Fahrzeug Attribute. Nehmen wir nun an, wir möchten uns nur auf die ersten fünf Reihen konzentrieren Daten und ignorieren Sie alles andere. Dazu können wir die Head-Funktion verwenden. Das ist der Kopf, dann öffnen Sie die Klammern, gefolgt von den Daten, die wir filtern möchten. In diesem Fall mtcars, dann ein Komma, und dann ist n gleich fünf, schließende Klammern. Ich drücke die Strg-Eingabetaste, um diese Codezeile auszuführen. Und es geht los. Wir haben die ersten fünf Zeilen des Datensatzes. Wenn wir eine andere Anzahl von Zeilen gewünscht hätten, hätten wir eingeben können stattdessen einen anderen n-Wert. Das könnten 10 oder 15 oder 100 oder genauso viele Reihen gewesen sein Daten, die wir sehen wollten. Was wäre, wenn wir die letzten fünf Zeilen des Datensatzes sehen wollten? statt der ersten fünf Reihen? Nun, wir könnten die Tail-Funktion verwenden. Tail wird die letzten Zeilen auf Ihre Spezifikation zurücksetzen. Um die letzten Zeilen zu erhalten, können Sie tail, Klammern usw. eingeben. mtcars, dann ein Komma, und dann, Sie haben es erraten, ist n gleich fünf, gefolgt von einer schließenden Klammer. Ich drücke die Steuerungstaste und gebe ein, und dies gibt die letzten fünf Zeilen aus. Kopf und Schwanz sind praktisch. Ich benutze sie ständig, wenn ich nur das erste oder letzte Mal sehen möchte die letzten Zeilen eines Datensatzes. Aber für eine robuste Filterung müssen wir das Filtern lernen Index oder mit logischen Vektoren. Werfen wir einen Blick darauf. Nehmen wir an, wir möchten nur die Indexfilterung einführen sechste bis zehnte Zeile aus dem mtcars-Datensatz. Head- und Tail-Funktionen funktionieren dafür nicht, aber wir könnten rudern und Spaltenfilter für die gewünschten Daten. Um nach Index zu filtern, geben wir zunächst mtcars ein, gefolgt von einer eckigen Klammer, und dann geben wir in der eckigen Klammer den Index ein für das, wonach wir filtern möchten. Versuchen wir es einmal kurz, indem wir sechs Doppelpunkte 10 eingeben. Sechs Doppelpunkt 10 ist dasselbe, als hätten wir sechs, sieben, acht, neun und 10. Lassen Sie uns sechs Doppelpunkte 10 in einer eigenen Zeile einfügen, damit Sie dies sehen können Aktion. Wie Sie sehen, erhalten wir sechs, sieben, acht, neun, 10. Okay, also setzen wir sechs Doppelpunkte 10 in die eckige Klammer und dann Wir geben eine schließende Klammer ein, drücken die Strg-Taste und geben die Eingabetaste ein. Was haben wir bekommen? In der Ausgabe sehen wir alle Zeilen, aber nur die sechste bis die 10. Spalte, zusammen mit Zeilenbeschriftungen. Also, Das ist nicht ganz das, was wir wollen. Um die Zeilen anstelle der Spalten zu erhalten, müssen wir a hinzufügen Komma nach der 10 und führen Sie dann den Code aus. Lasst uns weitermachen und es versuchen. Jetzt erhalten wir die richtigen Zeilen nach Indexwert. Einen kleinen Punkt wollte ich noch hinzufügen: Wir können nach Spalte filtern und Indexwerte gleichzeitig. Nach dem Komma können Spaltenindexwerte hinzugefügt werden. Wenn wir nur die ersten beiden Datenspalten und die sechste wollen Bis zur 10. Zeile können wir zwei Doppelpunkte nach dem hinzufügen Komma. Lassen Sie uns fortfahren und diesen Code ausführen. Leere Autos, eckige Klammer, sechs Doppelpunkte 10, Komma, ein Doppelpunkt zwei, schließende eckige Klammer. Großartig. Dies gibt zwei Spalten zurück, die MPG-Spalte, zusammen mit der Zylinderspalte für die sechste bis zehnte Reihe. Nachdem wir nun die Syntax der Indexfilterung verstanden haben, Wir können damit beginnen, logische Operatoren hinzuzufügen, um die zu bestimmen Indexwerte, die wir verwenden möchten. Betrachten wir Folgendes. Nehmen wir an, wir wollen kilometerlange Reihen leerer Autos zurückbringen pro Gallone beträgt mehr als 25. Wir wollen wissen, welche Reihen für Autos sind, die gut Benzin bekommen Kilometerstand nach 1974-Standards. Hier erfahren Sie, was wir tun können. Wir können die Funktion „which“ und „within which“ eingeben leere Autos, das Dollarzeichen und dann MPG. Wir haben also eine MPG-Spalte mit leeren Autos, und das möchten wir zum Ausdruck bringen was größer als 25 ist. Lassen Sie uns diese Codezeile zurückgeben. Es wurden die gewünschten Zeilennummern zurückgegeben, Zeile 18, 19, 20, 26, 27, und 28. Das sind die Indexwerte, die wir brauchen. Wir könnten weitermachen und diese Werte zwischen uns platzieren Halterung zum Filtern. Zum Beispiel leere Autos, eckige Klammer, 18, Komma, Die schließende Klammer wird gefiltert, um die erste gewünschte Zeile anzuzeigen. aber das müssen wir nicht tun. Wir können unseren Filter direkt zwischen unsere eckigen Klammern schreiben. Lasst uns weitermachen und das tun. Wir haben also leere Autos, eckige Klammer, welche, Klammern, leere Autos, Dollarzeichen, MPG, größer als 25, schließende Klammern, Komma und schließende eckige Klammer. Wir gehen weiter und drücken die Strg-Taste und geben gleichzeitig ein Zeit. Und jetzt haben wir unsere Daten erfolgreich so gefiltert, dass sie nur angezeigt werden Autos mit mehr als 25 Meilen pro Gallone. Nachdem wir uns nun mit der Indexfilterung befasst haben, schauen wir uns nun an, wie wir kann dasselbe ausdrücken, aber mit weniger Code. Denken Sie daran, dass die which-Anweisung die Zeilennummern 18, 19, 20, 26, 27 und 28. Entfernen wir die which-Anweisung und geben Sie einfach leer ein Autos, Dollarzeichen, MPG, größer als 25, und drücken Sie die Steuerung und eingeben. In der Ausgabe erhalten wir einen logischen Vektor. We get values false, false, false, false, false, false, falsch, falsch, falsch, falsch, bis zum 18. Wert von die Liste, was wahr ist. Der 18., 19., 20., 26., 27. und 28. Wert werden alle angezeigt als wahr. Wir können diesen logischen Vektor zwischen unseren eckigen Klammern hinzufügen Filter. Lassen Sie uns zum Spaß weitermachen und das tun. Hier ist der logische Vektor, eingefügt in eckige Klammern. Und wenn wir diese Codezeile ausführen, erhalten wir die Zeilen wo Meilen pro Gallone ist größer als 25. Aber anstatt diesen langen logischen Vektor tatsächlich einzugeben zwischen unsere eckigen Klammern könnten wir einfach leere Autos eingeben, eckige Klammer, leere Autos, Dollarzeichen, MPG, größer als 25, Komma, Abschluss eckige Klammer ein und führen Sie diese Codezeile aus. Nach wie vor haben wir erfolgreich nur leere Autos gefiltert Zeilen anzeigen, in denen Meilen pro Gallone größer als 25 sind. Bei logischen Vektoren ist zu beachten, dass sie kann recycelt werden. Damit meine ich, dass die Vektoren von Wahr und Falsch dies tun müssen nicht die gleiche Länge haben wie die Daten, die sie filtern. Sie könnten zum Beispiel „false“, „false“, „true“ eingeben, um eine Rückgabe zu erhalten jede dritte Reihe. Oder false, true, um jede zweite Zeile zurückzugeben. Oder true, um alle Zeilen zurückzugeben. Oder false, um keine Zeilen zurückzugeben. Alle stehen in eckigen Klammern. Diese Art der Filterung ist in Situationen wie z. B. sehr praktisch B. beim Herausfiltern ungerader oder gerader Zeilen. Es könnte aber auch falsch angewendet werden, wenn Sie einen logischen Test haben hat eine andere Länge als die Daten, die Sie filtern. Im nächsten Video werfen wir einen Blick auf die Kombination mehrerer Filter zusammen und dann Zusammenfassungen erstellen gefilterte Daten. Danke fürs zuschauen.