Как исправить ошибку слияния (Ошибка в fix.by (by.y, y): 'by' должен указывать уникально допустимый столбец) в R на вычислительном кластере - PullRequest
0 голосов
/ 07 февраля 2019

Я использую код R на кластере компьютеров на основе Linux.Я хотел объединить два набора данных SPSS с помощью «Sample_Name».Код работает на R (v 3.5.2) на моем ноутбуке, но я продолжаю получать эту ошибку, когда я запускаю код через кластер (та же версия R).

Ошибка в fix.by (by.y, y): 'by' должен указать уникально допустимый столбец Calls: merge -> merge -> merge.data.frame -> fix.by Выполнение остановлено

Я перепробовал каждую версию команды слияния и просматривал этоВесь сайт, но ничего не работает.Опять же, это работает на R, но не на кластере, поэтому мне интересно, есть ли что-то, что я неправильно понимаю при загрузке файлов в кластер.

Наборы данных одного класса.Оба столбца являются «символами».Я пробовал каждую команду с Sample_Name в одинарных и двойных кавычках ('' и "") и обратной косой черте ().Я хочу объединить только тех участников, которые находятся в обоих файлах.

загрузить первый файл из моего каталога в кластере

file_one <- read_sav('/home/mydirectory/file_one.sav')

загрузить второй файл из моего каталога в кластере

file_two <- read_sav('/home/mydirectory/file_two.sav')

Команды загрузки, считанные из данныхпросто хорошо.Вот вывод:

загрузить вывод

объединить по "Sample_Name", оба файла имеют этот столбец

file_three <- merge (file_one, file_two, by.x = 'Sample_Name', by.y = 
'Sample_Name') 

file_three <- merge (x=file_one, y=file_two, by.x = 'Sample_Name', by.y = 
'Sample_Name') 

file_three <- merge (x=file_one, y=file_two, by.x = c('Sample_Name'), by.y 
= c('Sample_Name')

file_three <- merge (x=file_one, y=file_two, by.x = file_one$Sample_Name, 
by.y = file_two$Sample_Name)

Ошибка в fix.by (by.y, y): 'by' должен указывать уникально допустимый столбец. Вызовы: merge -> merge -> merge.data.frame -> fix.by Выполнение остановлено

...