Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
467 views
in Technique[技术] by (71.8m points)

r - `cv.glmnet` works in RStudio but not RScript

The following commands work fine in RStudio, but not 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)

The error message from RScript:

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

R version is 3.2.3 in both cases and glmnet version 2.0-2.

How can I get glmnet to work in RScript?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

RScript has this "lovely" feature of not loading the (base package) methods for you.

So all you need here is an additional

  require(methods)

or

  suppressMessages(library(methods))

For what it is worth, the littler command-line and scripting front-end to R that Jeff Horner and I wrote defaults to loading methods for you...


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...