Как сделать многоканальное построение гиперспектральных данных в R?

Я пытался построить мультипанельные спектры среднего отражения и их стандартные отклонения, используя hyperSpec пакет. Но я не получаю желаемых результатов. У меня есть 10 кластеров / групп, но построение графиков дает мне только 4 кластера. Кроме того, группы не приходят в надлежащем порядке. Я использую следующий код

library(hyperSpec)
data_1 <- read.csv("Multipanel_plotting.csv")
data <- data[-1]
wl <- seq (350, 2500,1)
cluster <- as.factor(data_1$clusters)
spectra <- new ("hyperSpec", spc = data, data = data.frame(cluster),
                labels = list (.wavelength = "Wavelength (nm)",
                               spc = "Reflactance"), wavelength = wl)
#Multipanel plotting
qplotspc(aggregate(spectra, spectra$cluster, mean_pm_sd),
         mapping = aes(x = .wavelength,
                       y = spc,
                       colour = cluster)) +
  facet_grid(cluster ~.) + ggtitle("Spectra")

Это дает мне

Но я хочу иметь такой сюжет

Я предоставляю ссылку на диск Google из набора данных https://drive.google.com/file/d/1I_VlNbFTwi10fn3yNE4HknhpjreZKotV/view?usp=sharing

Любая помощь в этом отношении высоко ценится.

1 ответ

Я мог бы решить это самостоятельно, используя ggpubr библиотека. Код выглядит следующим образом

library(hyperSpec)
library(ggpubr)

data_1 <- read.csv("Multipanel_plotting.csv")
data <- data_1[-1]
wl <- seq (350, 2500,1)
cluster <- as.factor(data_1$clusters)
spectra <- new ("hyperSpec", spc = data, data = data.frame(cluster),
                labels = list (.wavelength = "Wavelength (nm)",
                               spc = "Reflactance"), wavelength = wl)
#Multipanel plotting
p <- qplotspc(aggregate(spectra, spectra$cluster, mean_pm_sd),
         mapping = aes(x = .wavelength,
                       y = spc,
                       colour = cluster)) +
  facet_grid(cluster~ .) + ggtitle("Spectra")+
  theme_bw()

p %>% ggadd("mean", size = 0, color = "black")

Но единственная проблема в том, что теперь он дает мне 4 панели, в то время как их должно быть 10, а порядок графиков должен быть 1, 2, 3,...,10.

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