無法加載rJava包、Rwordseg包的解決方法

無法加載rJava包、Rwordseg包的解決方法

文 / 拿筆的小鑫



最近準備用R做一些作品,不小心接觸到了rJava包和Rwordseg包,我相信有接觸過的朋友都會深有體會:這兩個包真的是讓人又氣又恨!!!不是這個包不好用,而是連加載都沒法加載到R中,何談使用呢。

下面,就來談一談我遇到的問題及解決方法。

第一個問題  無法下載Rwordseg包

一般來說,遇到需要安裝多個包,我都是先統一下載(install.pacages),再統一加載(library),比如:

install.packages("rJava")
install.packages("Rwordseg")

library(rJava)
library(Rwordseg)

誰知道這次才第二句就遇到了麻煩啊喂!

【圖1】

好麼,不行咱就換種方式,先把包下載到本地,再進行加載。

思路很清晰,接下來運行代碼吧。我知道Rwordseg是需要依附於rJava包的,因此先運行:

library(rJava)

然鵝……還是木有想到!



第二個問題  無法加載rJava包

在RStudio中運行:

library(rJava)

結果出錯了,那麼我就想着也把rJava包下載到本地再進行加載。

結果,如下所示,還是錯誤。

【圖2】

我就猜測:可能這裏是RStudio的緣故吧。(誰知道我當時爲什麼會這麼傻逼的想。)

在R中安裝本地包:

【圖3】

不僅沒安裝成功,就連後面的dplyr包也出現錯誤了。

當時我的心情是崩潰的。

還好有百度、必應、谷歌等好東西。

然後就是進行一系列測試:

方法一:管理員身份重啓程序。

library(rJava)
  • 出錯!

方法二:關閉殺軟,管理員身份重啓程序。

library(rJava)
  • 出錯!

方法三:重啓電腦,關閉殺軟,管理員身份重啓程序。

library(rJava)
  • 還是出錯!!

每一次的結果都如下圖所示:

【圖4】

最終,在一篇帖子中有人說,安裝的Jre位數跟使用的R位數必須相同。

突然反應過來,我好像沒有安裝Jre!!!

那安裝rJava有pi用啊!!!

找到原因的心情就是爽!

然後上網、搜索、下載、安裝……



第三個問題  還是加載不了rJava

搞定一切之後,爲了避免再次出錯,我選擇了重啓電腦,關閉殺軟,以管理員身份打開R,再加載……

【圖4】

W T F!!!

Why???

再次百度、必應、谷歌……

終於找到原因了,原來要配置好Java,不僅僅需要jre,還需要jdk,還需要配置環境變量,而且是先安裝64位的jdk,在安裝jdk的時候,會在後面提示安裝jre。

那就開搞!

參考網上這篇文章進行配置:http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

搞定之後,運行

library(rJava)

又一次出現了下圖:

【圖4】

然鵝,這一次,找不到原因,但是找到了解決方法:

在載入rJava包之前,先手動在R環境中設置環境變量。

Sys.setenv(JAVA_HOME='D:/software/java/jdk/jre') 
library(rJava)

這樣一來,每次加載rJava就不會出錯了。

第四個問題  Rwordseg亂碼

把Rwordseg包下載到本地之後,開始手動安裝,哎,代碼沒報錯,應該沒問題了吧。

哈哈,機智如我。

關了軟件重新再來一遍試試。

然鵝,再次加載的時候遇到了這樣的情況:

【圖5】

這一堆亂碼是怎麼回事?

“沒事的沒事的,只是顯示有問題,真正運行的時候肯定沒問題的。”(自己傻逼逼地安慰自己)

然後,用R來本地安裝Rwordseg包,還是有問題啊!!!

【圖6】

再一次,百度、必應、谷歌……

終於,皇天不負有心人,讓我再次找到了解決方法

http://www.cnblogs.com/Nashear/p/4884747.html

使用第一種功能方法,在線安裝,不過需要指定安裝地址。

install.packages("Rwordseg",repos="http://R-Forge.R-project.org")
library(Rwordseg)

這一次,成功了!!!

果然,還是機智如我!!!

總結

加載rJava和Rwordseg包的方法就是:

1) 安裝與R相同位數的jdk,配置好環境變量。

2) 加載rJava時,手動在R環境中設置環境變量:Sys.setenv(JAVA_HOME=’D:/software/java/jdk/jre’)

3) 在線安裝Rwordseg包,指定網址:install.packages(“Rwordseg”, repos = “http://R-Forge.R-project.org“)。

完整代碼如下:

install.packages("rJava")
Sys.setenv(JAVA_HOME='D:/software/java/jdk/jre')#注意路徑需要是自己安裝jdk的路徑。
library(rJava)

install.packages("Rwordseg",repos="http://R-Forge.R-project.org")
library(Rwordseg)

最後,歡迎與各位交流。(Email:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章