Печать Python-генерируемого графика в R

Я работаю над выполнением HDBSCAN и выполняю анализ с использованием hdbscan модуль Python в R. У меня есть следующий код:

library(reticulate)
hdb <- import("hdbscan") # Import hdbscan Python library
# Create dummy data. My actual data set is an already cleaned data frame.
dat <- data.frame(id=1:100, a = rbinom(100, 1, .4), b = rbinom(100, 1, .8), c = rbinom(100, 1, .6), d = rbinom(100, 1, .2))
datMat <- as.matrix(dat) # Convert to matrix so it correctly converts to a 2d array

clusterer = hdb$HDBSCAN(metric='jaccard') # Start clusterer with Jaccard distance metric
clusterer$fit(datMat) # Fit the data

Далее я хочу взглянуть на сжатое дерево. Код Python для этого будет:

clusterer.condensed_tree_.plot()

Переведено на R:

clusterer$condensed_tree_$plot()

Вывод этой команды:

AxesSubplot (0.125,0.11; 0.31744x0.77)

Я могу поместить все это в файл RMarkdown, используя сырой python, и получу график, который хочу. Однако это работает только при вязании всего файла, что может занять некоторое время. Тем более, что в настоящее время я рассматриваю различные настройки параметров HDBSCAN, было бы замечательно, если бы был способ построить сжатое дерево (и другие диагностические графики) без необходимости связывать весь файл RMarkdown.

Кто-нибудь знает, если / как я могу построить сгенерированный Python график в R без использования RMarkdown?

Пример файла RMarkdown:

\```{r}
dat <- data.frame(id=1:100, a = rbinom(100, 1, .4), b = rbinom(100, 1, .8), c = rbinom(100, 1, .6), d = rbinom(100, 1, .2))
datMat <- as.matrix(dat)
\```

\```{python}
import hdbscan

clusterer = hdbscan.HDBSCAN(metric='jaccard') # Start clusterer with Jaccard distance metric
clusterer.fit(r.datMat) # Fit the data
clusterer.condensed_tree_.plot()
\```

0 ответов

Другие вопросы по тегам