come estrarre un sottoinsieme di un frame di dati in base a una condizione che coinvolge un campo?

Ho un CSV di grandi dimensioni con i risultati di un’indagine medica da diverse località (la posizione è un fattore presente nei dati). Poiché alcune analisi sono specifiche per una posizione e per comodità, vorrei estrarre i sottoframe con le righe solo da quelle posizioni. Succede che la posizione è il primo campo quindi sì, potrei farlo ordinando le righe CSV, ma mi piacerebbe imparare come farlo in R come sono sicuro che avrò bisogno di questo per altre colonne.

Quindi, in poche parole, la domanda è: dato un frame dati foo, come posso creare un’altra barra del frame di dati che contiene solo le righe da foo dove foo $ location = ‘there’?

Molte grazie.

Ecco i due approcci principali. Preferisco questo per la sua leggibilità:

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

Nota che puoi mettere insieme molte condizioni con & e | per creare sottoinsiemi complessi.

Il secondo è l'approccio di indicizzazione. Puoi indicizzare le righe in R con sezioni numeriche o booleane. foo$location == "there" restituisce un vettore di valori T e F della stessa lunghezza delle righe di foo . È ansible eseguire questa operazione per restituire solo le righe in cui la condizione restituisce true.

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