используя xlsx с ноутбуком R jupyter - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь установить и использовать xlsx в R на ноутбуке Jupyter на компьютере Ma c.

install.packages("xlsx") 

, кажется, работает нормально, но результаты

library("xlsx")

в:

Error: package or namespace load failed for 'xlsx':
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/lib/server/libjvm.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so
  Reason: image not found
Traceback:

1. library("xlsx")
2. tryCatch({
 .     attr(package, "LibPath") <- which.lib.loc
 .     ns <- loadNamespace(package, lib.loc)
 .     env <- attachNamespace(ns, pos = pos, deps, exclude, include.only)
 . }, error = function(e) {
 .     P <- if (!is.null(cc <- conditionCall(e))) 
 .         paste(" in", deparse(cc)[1L])
 .     else ""
 .     msg <- gettextf("package or namespace load failed for %s%s:\n %s", 
 .         sQuote(package), P, conditionMessage(e))
 .     if (logical.return) 
 .         message(paste("Error:", msg), domain = NA)
 .     else stop(msg, call. = FALSE, domain = NA)
 . })
3. tryCatchList(expr, classes, parentenv, handlers)
4. tryCatchOne(expr, names, parentenv, handlers[[1L]])
5. value[[3L]](cond)
6. stop(msg, call. = FALSE, domain = NA)

Я пробовал sudo R CMD javareconf, что привело к:

Java интерпретатор: / usr / bin / java Java версия: 13.0.2 Java home путь: /Library/Java/JavaVirtualMachines/adoptopenjdk-13-openj9.jdk/Contents/Home Java компилятор: / usr / bin / javac Java генерация заголовков: / usr / bin / javah Java инструмент архивирования: / usr / bin / jar

при попытке скомпилировать и связать JNI-программу, обнаруженные флаги JNI cpp: -I $ (JAVA_HOME) / include -I $ (JAVA_HOME) / include / darwin обнаружили флаги компоновщика JNI: -L $ (JAVA_HOME) / lib / default -ljvm clang -I "/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I / Библиотека / Java / JavaVirtualMachines / accepttopenjdk-13-openj9.jdk / Contents / Главная / include -I / Библиотека / Java / JavaVirtualMachines / accepttopenjdk-13-openj9.jdk / Содержание / Главная / include / darwin -isys root / Библиотека / Разработчик / CommandLineTools / SDKs / MacO SX.sdk -I / usr / local / include -fPI C -Wall -g -O2 - c conftest. c -o conftest.o clang -dynamiclib -Wl, -headerpad_max_install_names -undefined dynamic_lookup -single_module - multiply_defined подавить -L / Библиотека / Frameworks / R.framework / Resources / lib -L / usr / local / lib -o conftest.so conftest.o -L / Библиотека / Java / JavaVirtualMachines / accepttopenjdk-13-openj9.jdk / Содержание / Home / lib / default -ljvm -F / Библиотека / Каркасы / R.framework / .. -рамка R -Wl, -framework -Wl, CoreFoundation

JAVA_HOME: / Библиотека / Java / JavaVirtualMachines / accepttopenjdk- 13-openj9.jdk / Contents / Home Java путь к библиотеке: $ (JAVA_HOME) / lib / default JNI cpp flags: -I $ (JAVA_HOME) / include -I $ (JAVA_HOME) / include / darwin JNI-флаги компоновщика : -L $ (JAVA_HOME) / lib / default -ljvm Обновление Java конфигурации в /Library/Frameworks/R.framework/Resources Done.

Чего мне не хватает?

1 Ответ

0 голосов
/ 03 марта 2020

библиотека (readxl)

df <- read_xlsx (путь, лист = номер листа) # используйте это, если вы хотите импортировать xlsx </p>

df <- read_xls (путь, лист = лист число) # используйте это, если вы хотите импортировать xls </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...