You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

首次运行randomForestSRC后出现mlr报错问题求助

Fixing mlr Error with randomForestSRC on macOS 10.13.4 + R 3.5.0

Hey there, let’s work through this mlr + randomForestSRC error you’re facing. I’ve debugged similar Java/R library conflicts on older macOS setups before, so here’s a step-by-step breakdown of what’s likely going wrong and how to fix it:

1. Fix Your Java Environment Setup

First, your initial Java path configuration has a small but critical mistake:

  • You pointed java.home to the lib subdirectory of your JDK, but it should point to the root JDK home directory instead.
  • On macOS, we use DYLD_LIBRARY_PATH (not LD_LIBRARY_PATH) for dynamic library loading.
  • Your variable quoting was also preventing proper expansion of $JAVA_HOME.

Replace your initial Java setup code with this:

# Set correct JDK home path
Sys.setenv(JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home")
options(java.home = Sys.getenv("JAVA_HOME"))

# Set dynamic library path for macOS
Sys.setenv(DYLD_LIBRARY_PATH=paste0(Sys.getenv("JAVA_HOME"), "/lib/server"))

# Load the JVM library correctly
dyn.load(paste0(Sys.getenv("JAVA_HOME"), "/lib/server/libjvm.dylib"))

Important: Restart RStudio completely before running this code—old cached environment variables can interfere with the new settings.

2. Ensure Library Version Compatibility

R 3.5.0 is an older release, and newer versions of mlr (v3+) don’t support it. You’re likely running into version mismatches between mlr, randomForestSRC, and your R version.

Install Compatible Library Versions

Use devtools to install older, compatible versions:

# Install devtools if you don't have it
install.packages("devtools")
library(devtools)

# Install mlr v2.13.1 (last stable version for R 3.5.0)
install_version("mlr", version = "2.13.1")

# Install randomForestSRC v2.9.0 (compatible with mlr v2.x)
install_version("randomForestSRC", version = "2.9.0")

3. Verify Java-R Connection

Before loading mlr and randomForestSRC, confirm that R can properly communicate with Java using rJava:

library(rJava)
# If this loads without errors, your Java setup is good to go

If rJava fails to load, reinstall it from source to ensure it’s compiled against your Java 9 setup:

install.packages("rJava", type = "source")

If that still fails, run this in your macOS Terminal first, then reinstall rJava in R:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home"

4. Test with a Simple Example

Once everything is set up, run a quick test to confirm the error is resolved:

library(mlr)
library(randomForestSRC)

# Create a simple classification task using the iris dataset
task <- makeClassifTask(data = iris, target = "Species")

# Define the randomForestSRC learner
lrn <- makeLearner("classif.randomForestSRC")

# Train the model
model <- train(lrn, task)

# Print the model results to confirm success
print(model)

If this runs without errors, you’re all set! If you still hit issues, sharing the exact error message would help narrow things down further.

内容的提问来源于stack exchange,提问作者Javide

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:31:54