Ошибка использования распознавания выбросов PCA в HyperSpec

Я считаю HyperSpec очень полезным, однако продолжаю получать сообщения об ошибках при выполнении "Устранение выбросов с помощью анализа основных компонентов (PCA)", следуя инструкциям в руководстве Chondro. Код, который я запускаю ниже:

pca <- prcomp (spc_N2, center = TRUE)
scores <- decomposition (spc_N2, pca$x, label.wavelength="PC",label.spc_N2="score/a.u.")
loadings <- decomposition (spc_N2, t(pca$rotation), scores = FALSE,label.spc_N2="laoding I/a.u.") 
pairs (scores [[,,1:20]], pch = 19, cex = 0.5)

Это приводит к графику первых 20 пар очков, как и ожидалось. Когда я пытаюсь определить спектры:

out <- map.identify (scores [,,5])

Я получаю следующую ошибку:

Error in eval(modelRHS[[2]], data, env) : object 'x' not found

Любые предложения будут ценны.

Спасибо Хейли

**редактировать

Я добавил файл примера. Вот код, который я использовал для импорта и предварительной обработки файла:

library(hyperSpec)

#import file
file <- read.table ("t0_CA_bln_adj.csv", header = TRUE, dec = ".", sep = ",")
spc <- new ("hyperSpec", wavelength = file [,1], spc = t (file [, -1]), data = data.frame (sample = colnames (file [, -1])), labels = list ((.wavelength = "cm-1"), spc = "I"))

#initial plot
plot (spc)

#intensity standardize to mean of N2 peak
factors_N2 <- 1/apply(spc[, , 2200~2400],1,mean)
spc_N2<-sweep(spc,1,factors_N2,"*")
plot(spc_N2)

#PCA
pca <- prcomp (spc_N2, center = TRUE)
scores <- decomposition (spc_N2, pca$x, label.wavelength="PC",label.spc_N2="score/a.u.")
loadings <- decomposition (spc_N2, t(pca$rotation), scores = FALSE,label.spc_N2="laoding I/a.u.") 

#plot score plots of the first 20 and first 5 PCs
pairs (scores [[,,1:20]], pch = 19, cex = 0.5)
pairs (scores [[,,1:5]], pch = 19, cex = 0.5)

#attempt to identify outliers
out <- map.identify (scores [,,5])

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

0 ответов

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