2014-02-04 3 views
0

Я хотел бы использовать функцию для преобразования спектров с использованием непрерывного удаления. Но я не понимаю, формат данных сырых спектров "raw"Формат данных в пакете soil.spec в R

функция пример:

trans(raw, tr = "continuum removed", order = , gap =) 

Может кто-то показать мне пример "raw" матрицы

ответ

1

Я должен сказать, что soil.spec пакет очень слабый по документации. Но, основываясь на этой цитате одного из инструментов ввода/вывода,

read.spc читает бинарный спектральное SPC-фи ле из папки в Р. спектры могут быть сделаны совместимыми (подробнее см make.comp) либо до первых волновых диапазонов выборки, либо к стандартным волновым диапазонам спектральной лаборатории ICRAF . Информация по методу сканирования собрана в , чтобы проверить спектральную сопоставимость. По умолчанию установлено значение ИКРАФ спектральных полос

Мои подозрения в том, что вам нужно, чтобы ваши файлы в любом формате «Спектральные НПЦ-файлы» есть, если предположить, что является отраслевым стандартом. Лучше всего связаться с менеджером пакета напрямую.

0

Чтобы получить преобразование удаления континуума на ваши спектры с использованием soil.spec библиотеки, выполните следующие действия:

  1. Подготовку необработанные таблиц спектров и обеспечить ее столбцы содержат спектральные данные должны быть преобразованы.

Удалите все неспектральные столбцы и убедитесь в отсутствии отсутствующих значений.

  1. Сделать столбцы имен таблицы сырых спектров числовыми.
  2. Перейдите к преобразованию, как показано ниже;

< raw.cw -транс (сырье, TR = "континуум удалены", порядок = 1, разрыв = 21)

raw.cw содержит необработанные спектры перед преобразованием, и преобразованные спектры Теперь матрица теперь в вашем случае удаляется континуум и используется метод преобразования.

Чтобы увидеть эти три объекта запуска:

имена (raw.cw); raw.cw - произвольное имя объекта, присвоенное результатам, полученным с помощью другой функции trans.

Ваш континуум удалены спектры извлекаются из результатов, используя стандартный синтаксис, используемые в системе R:

< cw.spectra -raw.cw $ транса

Мы обновляем документацию почвы. spec, и некоторые из этих объяснений будут включены, поскольку мы выпустим следующую обновленную версию, которая добавит дополнительные функции для обработки спектральных данных.

Пожалуйста, дайте мне знать, если это поможет, но если вы столкнетесь с каким-либо затруднением, следуя этому руководству, чтобы получить ожидаемые результаты, я буду рад помочь.

Бест,

Эндрю

ICRAF

+0

Большое спасибо Andrew, я попытался получить спектры с выделенным континуумом из моих данных (350: 2500 нм, спектральное разрешение 1 нм), однако результат был преобразован спектрами, но не CR-спектрами (т.е. со значениями от 0 до 1). Я использовал raw.cw <-trans (s, tr = «континуум удален», порядок = 0, gap = 1), где «s» - это кадр данных, содержащий 72 образца почвы, имеющих спектр отражения образца 1 в первом ряд. Пожалуйста, помогите мне найти ошибку? Fabio – user3270600

2

для удаления континуума можно альтернативно использовать prospectr пакет

require(prospectr) 
data(NIRsoil) 

Если спектральные данные в единицах оптической плотности, то:

crt <- continuumRemoval(X = NIRsoil$spc, type = 'A') 

matplot(x = colnames(NIRsoil$spc), y = t(crt), 
     type = "l", lty = 1, 
     xlab = "Wavelengths (nm)", 
     ylab = "Absorbance (CR)", 
     col = palette(gray(seq(0, 0.9, len = 25)))) 

Если спектральные данные находятся в единицах отражения, то аргумент type должен быть установлен в 'R'.

Смежные вопросы