показать данные, которые существуют как в таблицах MYSQL, так и в объектах R

0

Я думаю, что это обычная проблема, ответила несколько раз, но я просто не знаю, как задать вопрос правильно = (

в MySQL:
У меня есть 2 таблицы с некоторыми строками внутри, теперь я хочу:
1. данные, которые встречаются в обеих таблицах
2. данные из a, которые не указаны в таблице b

то же самое в R:
У меня 2 R data.frame s, и я хочу:
1. данные, которые встречаются в и b
2. данные, которые происходят в a, но не в b

  • 0
    Р: То есть ваши два фрейма данных - это «а» и «б»? И вы хотите найти случаи, когда вся строка фрейма данных (которая может иметь несколько значений) одинакова между «a» и «b»?
  • 0
    На самом деле, вы можете выполнить обе эти операции в R, используя RMySQL
Показать ещё 1 комментарий
Теги:
overlap

2 ответа

3
Лучший ответ

В R:

a <- data.frame(V1=sample(letters[1:3],20,TRUE),V2=rnorm(20))
b <- data.frame(V1=sample(letters[2:4],20,TRUE),V2=rnorm(20))

# the data that occur in a and b
(ab <- merge(a,b,by="V1"))

# the data that occur in a but not in b 
aNOTb <- merge(a,b,by="V1",all=TRUE)
(aNOTb <- aNOTb[is.na(aNOTb$V2.y),])
3

в mysql вы можете сделать это, чтобы получить данные в обеих таблицах

SELECT * FROM table1 t1 INNER JOIN table2 t2 ON t1.id = t2.id

и сделайте это, чтобы получить таду от той, которая не находится в таблице b

SELECT * FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id
WHERE t2.id IS NULL

Ещё вопросы

Сообщество Overcoder
Наверх
Меню