小编Wes*_*ame的帖子

我不明白函数里面的错误"找不到对象"

我大致有这个功能:

plot_pca_models <- function(models, id) {
  library(lattice)

  splom(models, groups=id)
}
Run Code Online (Sandbox Code Playgroud)

而我这样称呼它:

plot_pca_models(data.pca, log$id)
Run Code Online (Sandbox Code Playgroud)

导致此错误:

Error in eval(expr, envir, enclos) : object 'id' not found
Run Code Online (Sandbox Code Playgroud)

当我没有包装功能调用它时:

splom(data.pca, groups=log$id)
Run Code Online (Sandbox Code Playgroud)

它引发了这个错误:

Error in log$id : object of type 'special' is not subsettable
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时:

 id <- log$id
 splom(models, groups=id)
Run Code Online (Sandbox Code Playgroud)

它表现得像预期的那样.

请任何人解释为什么它的行为如此以及如何纠正它?谢谢.

顺便说一句:我在这里也知道类似的问题,例如:

但他们都没有帮助我.

编辑:根据要求,有完整的"plot_pca_models"功能:

plot_pca_models <- function(data, id, sel=c(1:4), comp=1) {
  # 'data' ... princomp objects
  # 'id'   ... list of samples id (classes)
  # 'sel'  ... list of models …
Run Code Online (Sandbox Code Playgroud)

r

6
推荐指数
1
解决办法
2万
查看次数

在诗中,如何根据硬件指定对不同包版本的依赖

有没有办法如何使用 Poetry 为不同的硬件配置指定不同的 python 包版本?

例如,我有几种硬件配置(支持 cuda 10.1 和 cuda 10.0 的机器)。我应该如何根据这些(以及基于配置的不同包名)指定对版本不同的包的依赖。

不同情况需要配置的示例:

  • CUDA 10.1
    • mxnet-cu101 = 1.6.0
    • 火炬 = 1.5.0
  • CUDA 10.0
    • mxnet-cu100 = 1.5.1
    • 火炬 = 1.2.0

python python-3.x python-poetry

5
推荐指数
0
解决办法
94
查看次数

标签 统计

python ×1

python-3.x ×1

python-poetry ×1

r ×1