Пакет xlsx
зависит от пакета rJava
, для которого требуется действующая установка Java Runtime Environment (JRE). Перед установкой пакета rJava
необходимо установить Java Runtime Environment (JRE). Процесс установки JRE зависит от операционной системы, и Oracle усложнил этот процесс из-за изменений, внесенных в лицензионные требования для Java начиная с 2019 года.
Как узнать, установлена ли JRE?
Как отмечено в комментариях к вопросу, можно проверить версию среды выполнения Java, установленную на машине, с помощью командной строки java -version
. Также важно подтвердить, что среда выполнения Java доступна из R / RStudio. Мы можем сделать это, выполнив функцию system()
в RStudio, как указано в комментариях к вопросу.
> system("java -version")
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
[1] 0
>
Чтение файлов Excel в R
Есть два разных подхода к решению этой проблемы. Вот краткое изложение инструкций, которые я написал на этом топе c для курса Johns Hopkins Data Science Specialization Получение и очистка данных , Общие проблемы: Java и пакет xlsx назад в 2017 г.
Решение 1. Используйте пакет Excel Reader, который не требует Java
СОВЕТ ПРОФЕССИОНАЛА: Самый простой способ обойти эту проблему - используйте пакет R, который не зависит от Java, например openxlsx или readxl .
Для openxlsx
это очень просто.
install.packages("openxlsx")
library(openxlsx)
# read the help file to identify the arguments needed to
# correctly read the file
?openxlsx
theData <- read.xlsx(...)
Тот же процесс можно использовать для readxl
.
install.packages("readxl")
library(readxl)
# read the help file to identify the arguments needed to
# correctly read the file
?readxl
theData <- read_excel(...)
Обратите внимание, что есть дополнительный пакет writexl
, который позволяет людям писать файлы Excel.
Решение 2: Установите Java и обязательные пакеты R
Тем не менее, для людей, которые хотят использовать пакет xlsx
для работы с файлами Excel, есть работающие решения для Windows, Ma c OSX и Ubuntu Linux.
РЕШЕНИЕ (Windows): Загрузите и установите последнюю версию Java Runtime Environment из Oracle. Обратите внимание: если вы используете 64-битную версию R, вам необходимо установить 64-битную версию Java Runtime.
РЕШЕНИЕ (Ma c OSX): В новых выпусках Ma c OSX это стало более сложным. После установки Java Development Kit на компьютер необходимо выполнить определенный набор команд c. Они описаны на r Java Issue 86 странице github . Я приложил снимок экрана с этим решением, чтобы люди могли напрямую ссылаться на него.
РЕШЕНИЕ (Ubuntu): Используйте Ubuntu Advanced Packaging Tool для установки Java, затем перенастройте Java в R.
sudo apt-get install openjdk-8-jdk # openjdk-9-jdk has some installation issues
sudo R CMD javareconf
Затем в R / RStudio установите пакет xlsx
.
install.packages("xlsx")
32-битное против 64-битного Java в Windows
Другая распространенная проблема, с которой могут столкнуться люди, - несовместимость между версией Java среды выполнения, которая установлен на их компьютере, а версия R, 32-разрядная или 64-разрядная.
Например, если у кого-то установлена 64-разрядная версия R, но есть 32-разрядная версия Java Среда выполнения установлена, R не будет видеть Java Среда выполнения, генерируя ту же «Java не установлена ошибка», как указано выше.
РЕШЕНИЕ: Эта проблема может разрешается либо установкой 64-битной версии Java Runtime для Windows, либо изменением конфигурации RStudio для использования 32-битной версии R.