plot возвращает прерывистые линии (с пробелами) в R при использовании пакета очков
ОБНОВЛЕНИЕ О РЕШЕНИИ:
установить аргументы пробелов = F в вашей команде plot()library(spectacles)
spectra(your_data) <- sr_no ~ ... ~ 350:2500 # turn your data frame to Spectra* object with the spectrum range of your interest
plot(your_data, gaps = F) # return plot with no gaps or line discontinuously
Я должен работать с объектом Spectra* и рисовать с таким же кодом, как этот, просто меняя встроенный фрейм данных "australia" на мои данные:
library(spectacles)
data(australia)
spectra(australia) <- sr_no ~ ... ~ 350:2500
s <- cut(australia, wl =c(-1*450:500, -1*1800:2050))
plot(s)
Мой сюжет в R вернулся с перерывами, как на картинке ниже. Размер фрейма данных составляет 150 строк, 3156 столбцов. Проблема остается, когда я уменьшил df до 1800 столбцов.
У кого-нибудь были такие же проблемы? Не могли бы вы предложить решение? Огромное спасибо заранее!
1 ответ
Пожалуйста, потерпите меня, потому что визуально объяснить мой вопрос намного проще, чем оставить комментарий. Вы хотите удалить эти данные или хотите вырезать часть данных? Смотрите примеры ниже.
s1 <- cut(australia, wl =c(-1*450:500, -1*1800:2050))
plot(s, gap=TRUE)
В качестве альтернативы вы можете использовать пример для файла справки в R.
library(ggplot)
data(australia)
spectra(australia) <- id ~ ... ~ 500:1800 # changed the range
r <- melt_spectra(australia)
australia$fact <- sample(LETTERS[1:3], size = nrow(australia), replace = TRUE)
r <- melt_spectra(australia, attr = 'fact')
p <- ggplot(r) + geom_line(aes(x=wl, y=nir, group=id, colour=fact)) + theme_bw()
print(p)
Альтернативно вы можете взять часть анализа.
s <- as(cut(australia, wl = 1*450:550), 'Spectra')
plot(s)