`cv.glmnet`适用于RStudio但不适用于RScript

Sid*_*Bob 1 r

以下命令在RStudio中工作正常,但不能在RScript中工作:

require(glmnet)
calibdata = read.csv("calibrationfile.csv")

xs = model.matrix(as.formula("targetvar~predictor1+predictor2)),calibdata)[,-1] # -1 discards intercept constant, glmnet has its own
ys = as.numeric(unlist(calibdata["targetvar"]))
fit=cv.glmnet(xs,ys)
Run Code Online (Sandbox Code Playgroud)

来自RScript的错误消息:

Error in is(x, "CsparseMatrix") : could not find function "new"
Calls: cv.glmnet -> glmnet -> elnet -> getcoef -> drop0 -> is
Execution halted
Run Code Online (Sandbox Code Playgroud)

两种情况下的R版本均为3.2.3,而glmnet版本为2.0-2.

如何让glmnet在RScript中工作?

Dir*_*tel 6

RScript 有这个"可爱"的功能,没有加载(基本包)方法.

所以你需要的是一个额外的

  require(methods)
Run Code Online (Sandbox Code Playgroud)

要么

  suppressMessages(library(methods))
Run Code Online (Sandbox Code Playgroud)

对于什么是值得的利特勒命令行和脚本前端至R杰夫·霍纳和我写的默认加载方式为您...