Загрузите набор данных, содержащий спектральные интенсивности 60 образцов бензина при длине волны 401 и их октановые числа в пакете PLS.В моем примере:
library(pls)
#Data set
data(gasoline)
'data.frame': 60 obs. of 2 variables:
$ octane: num 85.3 85.2 88.5 83.4 87.9 ...
$ NIR : 'AsIs' num [1:60, 1:401] -0.0502 -0.0442 -0.0469 -0.0467 -0.0509 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "1" "2" "3" "4" ...
.. ..$ : chr "900 nm" "902 nm" "904 nm" "906 nm"
Я хотел бы построить трехмерное представление NIR в функции октана, мой график святого Грааля:
Но этот выходной график был создан в Matlab, а не в R. Оригинальный код (https://it.mathworks.com/help/stats/examples/partial-least-squares-regression-and-principal-components-regression.html):
load spectra
whos NIR octane
[dummy,h] = sort(octane);
oldorder = get(gcf,'DefaultAxesColorOrder');
set(gcf,'DefaultAxesColorOrder',jet(60));
plot3(repmat(1:401,60,1)',repmat(octane(h),1,401)',NIR(h,:)');
set(gcf,'DefaultAxesColorOrder',oldorder);
xlabel('Wavelength Index'); ylabel('Octane'); axis('tight');
grid on
Пожалуйста, любые идеи или аналогичные функции / пакеты в R? Заранее спасибо!