merge() выдает ошибку

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

merge() выдает ошибку

Сообщение VistaSV30 » 03 окт 2020, 19:28

Добрый день!
Пытаюсь объединить две таблицы. Так все получается

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

set.seed(1)
(A <- data.frame(a1=LETTERS[1:3], a2=sample(10:99,3)) )
(B <- data.frame(b1=LETTERS[sample(1:5, 7,replace = T)], b2=sample(10:99,7)) )

merge(x=A, y=B, by.x="a1", by.y="b1" )
merge(A, B, by.x="a1", by.y="b1" )
# А так предлагается записывать формулу в справке, но это приводит к ошибке
merge(A, B, by=c("a1","b1") )
В последнем случае получается ошибка:
Ошибка в fix.by(by.x, x) :'by' должен определять правильные колонку

Подскажите, в чем именно ошибка!
Спасибо!
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: merge() выдает ошибку

Сообщение gamm » 03 окт 2020, 20:52

VistaSV30 писал(а):
03 окт 2020, 19:28
А так предлагается записывать формулу в справке,
там совсем не то предлагается, что Вы предположили.
То, что вы пытаетесь написать, есть merge(A, B, by.x=c("a1","b1"), by.y=c("a1","b1") )

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

(A <- data.frame(a1=LETTERS[c(1,2,5)], b1=c(10,20,30)) )
(B <- data.frame(a1=LETTERS[c(1,2,3)], b1=c(10,30,40)) )
merge(A, B, by=c("a1","b1") )

Ответить

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

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

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