Просто чтобы расширить ответ выше, вы также можете индексировать столбцы, а не указывать имена столбцов, что также может быть полезно в зависимости от того, что вы делаете. Учитывая, что ваше местоположение является первым полем, оно будет выглядеть так:
bar <- foo[foo[ ,1] == "there", ]
Это полезно, потому что вы можете выполнять операции со значением столбца, например, циклически повторять определенные столбцы (и вы можете делать то же самое, индексируя номера строк).
Это также полезно, если вам нужно выполнить какую-либо операцию над несколькими столбцами, поскольку вы можете указать диапазон столбцов:
foo[foo[ ,c(1:N)], ]
Или конкретные столбцы, как и следовало ожидать.
foo[foo[ ,c(1,5,9)], ]