R - альтернатива использованию sqldf для поднабора

ID <- c (1: 7)

Q1 <- c (12,12,15,14,11,101,1009)

df4 <- data.frame (ID, Q1)

Просмотр (df4)

ID | Q
1 | 12
2 | 12
3 | 15
4 | 14
5 | 11
6 | 101
7 | 1009

С sqldf я мог бы получить подмножество, где записи имеют значение Q 12,101 или 1009

dt4 <- as.data.table (df4) # для преобразования df4 в таблицу

df5 <- sqldf ("выберите * из dt4, где Q1 in (12,101,1009)")

Просмотр (DF5)

ID | Q
1 | 12
2 | 12
6 | 101
7 | 1009

Как я могу добиться того же, не используя sqldf?

1 ответ

df4[which(df4$Q1 %in% c(12, 101, 1009)),]

или с dplyr

library(dplyr)

df4 %>% filter(Q1 %in% c(12, 101, 1009))
Другие вопросы по тегам