Я установил umap-learn
на mac OS
и попытался использовать его в r markdown
файле, используя rPython
, как это объясняется здесь:
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])