Выбрать строки из таблицы по значениям вектора

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Аватара пользователя
VistaSV30
Активный участник
Сообщения: 185
Зарегистрирован: 02 июл 2018, 15:05
Репутация: 7
Откуда: Балашиха

Выбрать строки из таблицы по значениям вектора

Сообщение VistaSV30 » 18 сен 2020, 16:40

Добрый день!

Из таблицы нужно выбрать строки, значения в столбце А у которых равны значениям вектора z

Код: Выделить всё

x <- data.frame(1:10, letters[1:10])
names(x) <- c("A","B")
z <- 2:3
" Должно получится
2 b
3 c
"
# Пробовал следующие варианты - не работает
subset(x, x$A == z)
x[x$A == z]

library(dplyr)
x %>% filter(x$A == z)

library(sqldf)
sqldf("select * from x inner join x$A = z")
Спасибо!
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: Выбрать строки из таблицы по значениям вектора

Сообщение nickleb » 18 сен 2020, 18:09

Код: Выделить всё

subset(x, A %in% z)
или:

Код: Выделить всё

dplyr::filter(x, A %in% z)
или:

Код: Выделить всё

x[x$A  %in% z, ]

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: Выбрать строки из таблицы по значениям вектора

Сообщение nickleb » 18 сен 2020, 18:30

... а через sqldf, если вектор z из нескольких значений, то просто перечислить эти значения в скобках:

Код: Выделить всё

sqldf::sqldf("select * from x where A in (2,3)")

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя