无法使用 R xlsx 包
R xlsx package can not be used
我的 R studio 版本是 4.0。我安装了xlsx包,但是当我需要使用它的时候,我得到一个错误:
library(xlsx)
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Error: package or namespace load failed for ‘xlsx’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: JVM could not be found
In addition: Warning messages:
1: In system("/usr/libexec/java_home", intern = TRUE) :
running command '/usr/libexec/java_home' had status 1
2: In fun(libname, pkgname) :
Cannot find JVM library 'NA/lib/server/libjvm.dylib'
Install Java and/or check JAVA_HOME (if in doubt, do NOT set it, it will be detected)
所以按照这个说明,我安装了'rJava',一开始想加载这个包,但是还是报错:
library(rJava)
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Error: package or namespace load failed for ‘rJava’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: JVM could not be found
In addition: Warning messages:
1: In system("/usr/libexec/java_home", intern = TRUE) :
running command '/usr/libexec/java_home' had status 1
2: In fun(libname, pkgname) :
Cannot find JVM library 'NA/lib/server/libjvm.dylib'
Install Java and/or check JAVA_HOME (if in doubt, do NOT set it, it will be detected)
有人可以给我一些关于如何加载 'xlsx' 和 'rJava' 包的建议吗?谢谢你。
xlsx
包依赖于 rJava
包,后者需要 Java 运行时环境 (JRE) 的有效安装。在安装 rJava
软件包之前,必须安装 Java 运行时环境 (JRE)。安装 JRE 的过程因操作系统而异,由于他们在 2019 年 licensing requirements for Java 中所做的更改,Oracle 使此过程更加困难。
如何判断是否安装了 JRE?
如问题评论中所述,可以使用命令行 java -version
验证安装在计算机上的 Java 运行时的版本。确认 Java 运行时可从 R / RStudio 访问也很重要。我们可以通过在 RStudio 中执行 system()
函数来做到这一点,也如问题评论中所述。
> 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
有两种不同的方法可以解决这个问题。以下是我在 2017 年 Common Problems: Java and xlsx package 约翰霍普金斯大学数据科学专业 获取和清理数据 课程中就此主题编写的说明摘要。
解决方案 1:使用 Excel Reader 不需要 Java
的程序包
专业提示: 解决此问题的最简单方法是使用不依赖于 Java 的 R 包,例如 openxlsx or 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、Mac [=112] 有可行的解决方案=], 和 Ubuntu Linux.
解决方案 (Windows): 从 Oracle 下载并安装最新版本的 Java Runtime Environment。注意,如果你是运行 64位版本的R,需要安装64位版本的Java Runtime。
SOLUTION (Mac OSX): 从 Mac OSX 的较新版本开始,这变得更加复杂.安装 Java Development Kit on the computer. These are documented on the rJava Issue 86 github page 后需要遵循一组特定的命令。我附上了此解决方案的屏幕截图,供人们直接参考。
解决方案 (Ubuntu): 使用 Ubuntu 高级打包工具安装 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 not installed error"。
解决方案:可以通过 installing the 64-bit version of Java Runtime for Windows 或更改 RStudio 配置以使用 32 位版本的 R 来解决此问题。
我的 R studio 版本是 4.0。我安装了xlsx包,但是当我需要使用它的时候,我得到一个错误:
library(xlsx)
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Error: package or namespace load failed for ‘xlsx’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: JVM could not be found
In addition: Warning messages:
1: In system("/usr/libexec/java_home", intern = TRUE) :
running command '/usr/libexec/java_home' had status 1
2: In fun(libname, pkgname) :
Cannot find JVM library 'NA/lib/server/libjvm.dylib'
Install Java and/or check JAVA_HOME (if in doubt, do NOT set it, it will be detected)
所以按照这个说明,我安装了'rJava',一开始想加载这个包,但是还是报错:
library(rJava)
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Error: package or namespace load failed for ‘rJava’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: JVM could not be found
In addition: Warning messages:
1: In system("/usr/libexec/java_home", intern = TRUE) :
running command '/usr/libexec/java_home' had status 1
2: In fun(libname, pkgname) :
Cannot find JVM library 'NA/lib/server/libjvm.dylib'
Install Java and/or check JAVA_HOME (if in doubt, do NOT set it, it will be detected)
有人可以给我一些关于如何加载 'xlsx' 和 'rJava' 包的建议吗?谢谢你。
xlsx
包依赖于 rJava
包,后者需要 Java 运行时环境 (JRE) 的有效安装。在安装 rJava
软件包之前,必须安装 Java 运行时环境 (JRE)。安装 JRE 的过程因操作系统而异,由于他们在 2019 年 licensing requirements for Java 中所做的更改,Oracle 使此过程更加困难。
如何判断是否安装了 JRE?
如问题评论中所述,可以使用命令行 java -version
验证安装在计算机上的 Java 运行时的版本。确认 Java 运行时可从 R / RStudio 访问也很重要。我们可以通过在 RStudio 中执行 system()
函数来做到这一点,也如问题评论中所述。
> 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
有两种不同的方法可以解决这个问题。以下是我在 2017 年 Common Problems: Java and xlsx package 约翰霍普金斯大学数据科学专业 获取和清理数据 课程中就此主题编写的说明摘要。
解决方案 1:使用 Excel Reader 不需要 Java
的程序包专业提示: 解决此问题的最简单方法是使用不依赖于 Java 的 R 包,例如 openxlsx or 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、Mac [=112] 有可行的解决方案=], 和 Ubuntu Linux.
解决方案 (Windows): 从 Oracle 下载并安装最新版本的 Java Runtime Environment。注意,如果你是运行 64位版本的R,需要安装64位版本的Java Runtime。
SOLUTION (Mac OSX): 从 Mac OSX 的较新版本开始,这变得更加复杂.安装 Java Development Kit on the computer. These are documented on the rJava Issue 86 github page 后需要遵循一组特定的命令。我附上了此解决方案的屏幕截图,供人们直接参考。
解决方案 (Ubuntu): 使用 Ubuntu 高级打包工具安装 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 not installed error"。
解决方案:可以通过 installing the 64-bit version of Java Runtime for Windows 或更改 RStudio 配置以使用 32 位版本的 R 来解决此问题。