Извлечение подмножества кадра данных на основе состояния, связанного с полем

У меня есть большой CSV с результатами медицинского обследования из разных мест (местоположение является фактором, присутствующим в данных). Поскольку некоторые анализы относятся к конкретному месту и для удобства, я бы хотел извлечь подкадры со строками только из этих мест. Бывает, что расположение - это самое первое поле, так что да, я мог бы сделать это, отсортировав строки CSV, но я хотел бы узнать, как это сделать в R, так как я уверен, что это понадобится для других столбцов.

Итак, в двух словах, вопрос: учитывая фрейм данных foo, Как я могу создать еще одну строку фрейма данных, которая содержит только строки из foo, где foo $ location = 'there' ?

59
задан zx8754 26 March 2019 в 06:59
поделиться

1 ответ

Вот два основных подхода. Я предпочитаю этот вариант из-за его удобочитаемости:

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

Обратите внимание, что вы можете объединить многие условные выражения с помощью & и | для создания сложных подмножеств.

Второй - это метод индексации. Вы можете индексировать строки в R с помощью числовых или логических срезов. foo $ location == "there" возвращает вектор значений T и F , имеющий ту же длину, что и строки foo . Вы можете сделать это, чтобы возвращать только те строки, в которых условие возвращает true.

foo[foo$location == "there", ]
97
ответ дан 24 November 2019 в 18:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: