Wie extrahiert man eine Teilmenge eines Datenrahmens basierend auf einer Bedingung, die ein Feld beinhaltet?

Ich habe eine große CSV mit den Ergebnissen einer medizinischen Umfrage von verschiedenen Standorten (der Standort ist ein Faktor in den Daten vorhanden). Da einige Analysen für einen Standort und aus Gründen der Zweckmäßigkeit spezifisch sind, möchte ich Subframes mit den Zeilen nur von diesen Standorten extrahieren. Es kommt vor, dass der Ort das erste Feld ist, also könnte ich es tun, indem ich die CSV-Zeilen sortiere, aber ich würde gerne lernen, wie man das in R macht, da ich sicher bin, dass ich das für andere Spalten brauche.

Kurz gesagt, die Frage ist: Wie kann ich einen Datenrahmen foo erstellen, wie kann ich einen anderen Datenrahmenbalken erstellen, der nur die Zeilen von foo enthält, wo foo $ location = ‘there’?

Danke vielmals.

   

Hier sind die zwei wichtigsten Ansätze. Ich bevorzuge dieses für seine Lesbarkeit:

bar < - subset(foo, location == "there") 

Beachten Sie, dass Sie viele Bedingungen mit & und | aneinanderreihen können um komplexe Teilmengen zu erstellen.

Der zweite ist der Indexierungsansatz. Sie können Zeilen in R entweder mit numerischen oder booleschen Slices indizieren. foo$location == "there" gibt einen Vektor von T und F Werten zurück, der dieselbe Länge wie die Zeilen von foo . Sie können dies tun, um nur Zeilen zurückzugeben, bei denen die Bedingung wahr zurückgibt.

 foo[foo$location == "there", ]