como extrair um subconjunto de um quadro de dados com base em uma condição envolvendo um campo?

Eu tenho um grande CSV com os resultados de uma pesquisa médica de diferentes locais (a localização é um fator presente nos dados). Como algumas análises são específicas de um local e por conveniência, eu gostaria de extrair subframes com as linhas apenas desses locais. Acontece que a localização é o primeiro campo, então sim, eu poderia fazer isso classificando as linhas CSV, mas eu gostaria de aprender como fazê-lo em R, já que tenho certeza que precisarei disso para outras colunas.

Então, em poucas palavras, a questão é: dado um frame de dados foo, como posso criar outra barra de frameworks de dados que contém apenas as linhas de foo onde foo $ location = ‘there’?

Muito obrigado.

Aqui estão as duas principais abordagens. Eu prefiro este por sua legibilidade:

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

Note que você pode juntar muitos condicionais com & e | para criar subconjuntos complexos.

A segunda é a abordagem de indexação. Você pode indexar linhas em R com fatias numéricas ou booleanas. foo$location == "there" retorna um vetor de valores T e F que tem o mesmo comprimento das linhas de foo . Você pode fazer isso para retornar apenas as linhas em que a condição retorna true.

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