Результаты dplyr::join в столбце UUID различаются в Linux и Mac OS.Linux

Anonymous
Результаты dplyr::join в столбце UUID различаются в Linux и Mac OS.

Сообщение Anonymous »


Я пытаюсь соединить два тиббла (dplyr::inner_join) на основе столбца UUID в каждом. Как ни странно, вместо ожидаемого отношения «один к одному» соединение создает отношение «многие ко многим» (как указано в предупреждающем сообщении, а также на то, что результирующий тиббл содержит значительно больше записей, чем любой из исходных тибблов). При анализе результатов объединения становится очевидным, что тибблы соединяются по несовпадающим UUID, что приводит к неправильному отношению «многие ко многим». Изменение типа данных столбцов UUID с UUID на character приводит к правильному взаимодействию «один к одному» (о чем свидетельствует результирующий тиббл, содержащий то же количество записей, что и два оригинальных тиббла).

Я поделился своим кодом с коллегой, и когда он запустил код (т. е. внутреннее объединение столбцов UUID, тип данных для каждого столбца = UUID), он выдал ожидаемое однозначное значение. одни отношения. Единственное очевидное различие между нашими вычислительными средами — это операционная система: у меня Ubuntu 22.04.4, а у него — Mac OS Ventura. Мы оба используем RStudio 2023.12.1+402.

Я был бы признателен за любую информацию о том, что вызывает эту разницу, связанную с ОС, и как избежать неправильного соединения столбцов UUID при использовании ОС Linux.

Вот минимальный воспроизводимый пример, демонстрирующий проблему:
# загрузить пакеты библиотека (дплир) библиотека (uuid) # создаем 2 набора данных id1

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