Нахождение значения оси Y по заданному значению оси X в R - PullRequest
0 голосов
/ 14 января 2020

Довольно плохо знаком с R, и я пытаюсь провести анализ спектров FTIR для моей диссертации через пакет ChemoSpe c. В специальном программном обеспечении, таком как Spectragryph (не могу получить доступ на моем собственном компьютере, следовательно, используя R), можно очень легко найти пиковые значения, но я не могу найти правильный способ сделать это здесь.

Это формула, которую я надеюсь выполнить для всех моих спектров:

Карбонильный индекс (ХИ) = Абсорбция при 1740 см-1 (максимум карбонильного пика) / Поглощение при 1460 см-1 х (максимум карбонильного пика)

Вот пример кода графика для спектров:

## ChemoSpec plot
plotSpectra(HDPE_samples,
main = "48 hr exposure",
which = c(8, 9, 10, 11, 12, 13, 14, 15, 16,
39, 40, 41, 42, 43, 44, 60, 61),
## y axis shows absorbance (%)
yrange = c(0, 0.9),
offset = 0.005,
lab.pos = 2450,
## x axis shows wave numbers (cm-1)
xlim = c(1300, 3000))

Пока я был бы счастлив просто чтобы получить значения поглощения, связанные с волновыми числами в формуле, если бы кто-нибудь мог дать мне указатели, на какие функции / пакеты смотреть

1 Ответ

1 голос
/ 15 января 2020

Вот пример чтения данных с определенной частотой c.

library(ChemoSpec)
#> Loading required package: ChemoSpecUtils

data(metMUD1)
plotSpectra(metMUD1)

# Where is the maximum of signal 1?
which.max(metMUD1$data[1,])
#> [1] 1098

# What is the frequency and intensity at the max value?
metMUD1$freq[1098]
#> [1] 1.340894
metMUD1$data[1, 1098]
#> [1] 0.0680055

Создано в 2020-01-15 представительный пакет (v0.3.0)

...