最近準備用R做一些作品,不小心接觸到了rJava包和Rwordseg包,我相信有接觸過的朋友都會深有體會:這兩個包真的是讓人又氣又恨!!!不是這個包不好用,而是連加載都沒法加載到R中,何談使用呢。
下面,就來談一談我遇到的問題及解決方法。
第一個問題 無法下載Rwordseg包
一般來說,遇到需要安裝多個包,我都是先統一下載(install.pacages),再統一加載(library),比如:
install.packages("rJava")
install.packages("Rwordseg")
library(rJava)
library(Rwordseg)
誰知道這次才第二句就遇到了麻煩啊喂!
好麼,不行咱就換種方式,先把包下載到本地,再進行加載。
思路很清晰,接下來運行代碼吧。我知道Rwordseg是需要依附於rJava包的,因此先運行:
library(rJava)
然鵝……還是木有想到!
第二個問題 無法加載rJava包
在RStudio中運行:
library(rJava)
結果出錯了,那麼我就想着也把rJava包下載到本地再進行加載。
結果,如下所示,還是錯誤。
我就猜測:可能這裏是RStudio的緣故吧。(誰知道我當時爲什麼會這麼傻逼的想。)
在R中安裝本地包:
不僅沒安裝成功,就連後面的dplyr包也出現錯誤了。
當時我的心情是崩潰的。
還好有百度、必應、谷歌等好東西。
然後就是進行一系列測試:
方法一:管理員身份重啓程序。
library(rJava)
- 出錯!
方法二:關閉殺軟,管理員身份重啓程序。
library(rJava)
- 出錯!
方法三:重啓電腦,關閉殺軟,管理員身份重啓程序。
library(rJava)
- 還是出錯!!
每一次的結果都如下圖所示:
最終,在一篇帖子中有人說,安裝的Jre位數跟使用的R位數必須相同。
突然反應過來,我好像沒有安裝Jre!!!
那安裝rJava有pi用啊!!!
找到原因的心情就是爽!
然後上網、搜索、下載、安裝……
第三個問題 還是加載不了rJava
搞定一切之後,爲了避免再次出錯,我選擇了重啓電腦,關閉殺軟,以管理員身份打開R,再加載……
W T F!!!
Why???
再次百度、必應、谷歌……
終於找到原因了,原來要配置好Java,不僅僅需要jre,還需要jdk,還需要配置環境變量,而且是先安裝64位的jdk,在安裝jdk的時候,會在後面提示安裝jre。
那就開搞!
參考網上這篇文章進行配置:http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
搞定之後,運行
library(rJava)
又一次出現了下圖:
然鵝,這一次,找不到原因,但是找到了解決方法:
在載入rJava包之前,先手動在R環境中設置環境變量。
Sys.setenv(JAVA_HOME='D:/software/java/jdk/jre')
library(rJava)
這樣一來,每次加載rJava就不會出錯了。
第四個問題 Rwordseg亂碼
把Rwordseg包下載到本地之後,開始手動安裝,哎,代碼沒報錯,應該沒問題了吧。
哈哈,機智如我。
關了軟件重新再來一遍試試。
然鵝,再次加載的時候遇到了這樣的情況:
這一堆亂碼是怎麼回事?
“沒事的沒事的,只是顯示有問題,真正運行的時候肯定沒問題的。”(自己傻逼逼地安慰自己)
然後,用R來本地安裝Rwordseg包,還是有問題啊!!!
再一次,百度、必應、谷歌……
終於,皇天不負有心人,讓我再次找到了解決方法
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])