3

ここに説明されている方法を使用して、にインストールumap-learnし、ファイルmac OSで使用しようとしました:r markdownrPython

http://blog.schochastics.net/post/using-umap-in-r-with-rpython/#fn1

しかし、次のコードを実行すると:

```{r}
umap <- function(x,n_neighbors=10,min_dist=0.1,metric="euclidean"){
  x <- as.matrix(x)
  colnames(x) <- NULL
  rPython::python.exec( c( "def umap(data,n,mdist,metric):",
              "\timport umap" ,
              "\timport numpy",
              "\tembedding = umap.UMAP(n_neighbors=n,min_dist=mdist,metric=metric).fit_transform(data)",
              "\tres = embedding.tolist()",
              "\treturn res"))

  res <- rPython::python.call( "umap", x,n_neighbors,min_dist,metric)
  do.call("rbind",res)
}

data(iris)
res <- umap(iris[,1:4])
```

エラーが発生します:

python.exec(python.command) のエラー: umap という名前のモジュールがありません

Rstudioそのため、どうやらumap. パッケージが次の方法でインストールされていることを確認しましたconda list

umap-learn                0.2.3                    py36_0    conda-forge

どうすれば修正できますか?

アップデート

python のバージョンが間違っていたので、追加.Rprofileして正しいバージョンを指すようにしましたが、エラーは続きました。

system("python --version")
Python 3.6.5 :: Anaconda, Inc.

アップデート

より詳細なエラー (スタック トレース):

 Error in python.exec(python.command) : No module named umap
 4.stop(ret$error.desc)
 3.python.exec(python.command)
 2.rPython::python.call("umap", x, n_neighbors, min_dist, metric)
 1.umap(iris[, 1:4])
4

1 に答える 1

1

R で使用されているのと同じ Python で使用できることを確認する必要がumapあります。これは、デフォルトで Anaconda のインストールにはなりません。

Python をチェックしsystem("python --version")、必要に応じてcmd行に移動して実行するpip install umapか、その他を実行pip3 install umapします (現在利用可能な Python を使用するため、代わりに Python パスを Anaconda Python に切り替えることができます)。

于 2018-05-03T18:23:39.193 に答える