R Ошибка при использовании RKEA, RWeka и rJAva вместе

В своем коде я хочу сначала использовать пакет RKEA. Позже я хотел бы использовать пакет RWeka. Эти два пакета работают по отдельности, но когда я пытаюсь использовать их последовательно, возникают некоторые проблемы. Итак, это мой пример кода:

Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_45\\jre")

if (!require("pacman")) install.packages("pacman")
library("pacman")
pacman::p_load("rJava", "RKEA", "RWeka", "tm")

data("crude")

# RKEA
keywords <- list(c("Diamond", "crude oil", "price"),
                  c("OPEC", "oil", "price"),
                  c("Texaco", "oil", "price", "decrease"),
                  c("Marathon Petroleum", "crude", "decrease"),
                  c("Houston Oil", "revenues", "decrease"),
                  c("Kuwait", "OPEC", "quota"))
tmpdir <- tempfile()
dir.create(tmpdir)
model <- file.path(tmpdir, "crudeModel")
createModel(crude[1:6], keywords, model)

# RWeka
BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2))
tdm <- TermDocumentMatrix(crude, control = list(tokenize = BigramTokenizer))

Часть RKEA работает нормально, но код RWeka выдает ошибку

 Error in .jcall(man, "Ljava/lang/Object;", "objectForName", as_qualified_name(name)) : 
  java.lang.IncompatibleClassChangeError: Implementing class 

Затем я должен переустановить RWeka, и он работает:

install.packages("RWeka")
Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_45\\jre")
library("RWeka")

BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2))
tdm <- TermDocumentMatrix(crude, control = list(tokenize = BigramTokenizer))

Но тогда часть RKEA больше не работает...

Я надеюсь, что кто-нибудь может помочь мне с этой проблемой.

0 ответов

Другие вопросы по тегам