`cv.glmnet`适用于RStudio,但不适用于RScript
以下命令在RStudio中可以正常工作,但在RScript中不行:`cv.glmnet`适用于RStudio,但不适用于RScript,r,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
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)
来自RScript的错误消息:
Error in is(x, "CsparseMatrix") : could not find function "new"
Calls: cv.glmnet -> glmnet -> elnet -> getcoef -> drop0 -> is
Execution halted
在这两种情况下,R版本均为3.2.3,glmnet版本为2.0-2
如何让glmnet在RScript中工作?
RScript
具有不为您加载(基本包)方法的“可爱”功能
所以这里你只需要一个额外的
require(methods)
或
值得一提的是,Jeff Horner和我编写的R的命令行和脚本前端默认为为您加载方法…
RScript
具有不为您加载(基本包)方法的“可爱”特性
所以这里你只需要一个额外的
require(methods)
或
值得一提的是,Jeff Horner和我编写的R的命令行和脚本前端默认为您的加载方法…我遇到了同样的问题,并找到了两种可能的解决方法(只是为了补充@的答案): 我在某个地方读到,
--默认包=方法,UTIL
需要传递给Rscript
来解决这个问题:
或者
而且,Rscript
似乎缺少方法
包的加载。这也可以通过在脚本开头调用library('methods')
来解决
希望这能有所帮助。我遇到了同样的问题,并找到了两种可能的解决方法(只是为了补充@的答案): 我在某个地方读到,
--默认包=方法,UTIL
需要传递给Rscript
来解决这个问题:
或者
而且,Rscript
似乎缺少方法
包的加载。这也可以通过在脚本开头调用library('methods')
来解决
希望这有帮助。是否应该将其迁移到堆栈溢出?它似乎不是这里的主题,所以我不认为应该重新打开它,但我想知道它是否会从迁移中受益。这是否应该迁移到堆栈溢出?它似乎不是这里的主题,所以我不认为应该重新打开它,但我想知道它是否会从迁移中受益。我遇到了完全相同的问题。脚本正常运行,直到我对系统内核进行了更新。现在很好用。谢谢,德克。我遇到了完全相同的问题。脚本正常运行,直到我对系统内核进行了更新。现在很好用。谢谢你,德克。