Результаты dplyr::join в столбце UUID различаются в Linux и Mac OS. ⇐ Linux
-
Anonymous
Результаты dplyr::join в столбце UUID различаются в Linux и Mac OS.
Я пытаюсь соединить два тиббла (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
Я пытаюсь соединить два тиббла (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
Мобильная версия