cómo extraer un subconjunto de un dataframe basado en una condición que involucra un campo?

Tengo un gran CSV con los resultados de una encuesta médica desde diferentes lugares (la ubicación es un factor presente en los datos). Como algunos análisis son específicos de una ubicación y, por comodidad, me gustaría extraer subttwigs con las filas solo de esas ubicaciones. Sucede que la ubicación es el primer campo, así que sí, podría hacerlo ordenando las filas de CSV, pero me gustaría aprender cómo hacerlo en R, ya que estoy seguro de que lo necesitaré para otras columnas.

Entonces, en pocas palabras, la pregunta es: dado un dataframe foo, ¿cómo puedo crear otra barra de dataframe que solo contenga las filas de foo donde foo $ location = ‘there’?

Muchas gracias.

Aquí están los dos enfoques principales. Prefiero este para su legibilidad:

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

Tenga en cuenta que puede unir muchos condicionales con & y | para crear subconjuntos complejos

El segundo es el enfoque de indexación. Puede indexar filas en R con porciones numéricas o booleanas. foo$location == "there" devuelve un vector de valores T y F que tiene la misma longitud que las filas de foo . Puede hacer esto para devolver únicamente las filas donde la condición devuelve verdadero.

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