我想使用trans
包的soil.spec
函数来使用连续体移除来转换光谱。但我不理解原始光谱"raw"
功能示例是:
trans(raw, tr = "continuum removed", order = , gap = )
有人可以向我展示"raw"
矩阵
答案 0 :(得分: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'
。
答案 1 :(得分:1)
我不得不说soil.spec
包在文档上非常弱。但是,根据其中一个I / O工具的引用,
read.spc将文件夹中的二进制光谱spc文件读入R. 光谱可以兼容(参见make.comp中的详细信息) 第一个采样波段或ICRAF的标准波段 光谱实验室。收集来自扫描方法的信息 检查光谱的可比性。默认设置已设置为ICRAF 光谱带
我怀疑你需要以“光谱spc文件”格式提供你的文件,假设这是一个行业标准。最好的选择可能是直接联系包维护者。
答案 2 :(得分:0)
要使用soil.spec库获取光谱的连续谱移除转换,请按以下步骤操作:
删除所有非谱列并确保没有缺失值。
raw.cw&lt; -trans(raw,tr =“continuum removed”,order = 1,gap = 21)
raw.cw包含转换前的原始光谱,现在在您的案例连续体中移除的转换光谱矩阵和使用的转换方法。
要查看这三个对象:
姓名(raw.cw); raw.cw是一个任意对象名,分配给通过其他trans函数获得的结果。
使用R系统中使用的标准语法从结果中提取连续谱移除的光谱:
cw.spectra&LT; -raw.cw $反
我们正在更新soil.spec软件包的文档,当我们发布下一个更新版本时,将包含其中一些解释,这将为处理光谱数据带来更多功能。
请告诉我这是否有帮助,但如果您在遵循本指南以获得预期结果时遇到任何困难,我将很乐意为您提供帮助。
最佳,
安德鲁
ICRAF