R中soil.spec包中的数据格式

时间:2014-02-04 11:31:38

标签: r

我想使用trans包的soil.spec函数来使用连续体移除来转换光谱。但我不理解原始光谱"raw"

的数据格式

功能示例是:

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

有人可以向我展示"raw"矩阵

的示例

3 个答案:

答案 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库获取光谱的连续谱移除转换,请按以下步骤操作:

  1. 准备原始光谱表并确保其列包含要转换的光谱数据。
  2. 删除所有非谱列并确保没有缺失值。

    1. 将原始光谱表的列名称设为数字格式。
    2. 继续运行转换,如下所示;
    3. 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