首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中soil.spec包中的数据格式

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

Stack Overflow用户
提问于 2014-02-04 19:31:38
回答 3查看 405关注 0票数 0

我想使用soil.spec软件包的trans函数来使用连续谱删除来转换光谱。但是我不理解原始光谱"raw"的数据格式

函数示例如下:

代码语言:javascript
复制
trans(raw, tr = "continuum removed", order = , gap = )

谁能给我看一个"raw"矩阵的例子

EN

回答 3

Stack Overflow用户

发布于 2014-04-15 19:13:25

对于连续统删除,您也可以使用prospectr软件包

代码语言:javascript
复制
require(prospectr)
data(NIRsoil)

如果您的光谱数据以吸光度为单位,则:

代码语言:javascript
复制
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'

票数 2
EN

Stack Overflow用户

发布于 2014-02-04 20:31:24

我不得不说,soil.spec包在文档方面非常弱。但是,根据其中一个I/O工具的引用,

read.spc将文件夹中的二进制光谱spc-files读取到R中。光谱可以与first样本波段或ICRAF光谱实验室的标准波段兼容(请参阅ICRAF中的详细信息)。收集来自扫描方法的信息以检查光谱的可比性。默认设置为ICRAF光谱波段

我的猜想是,假设这是一个行业标准,您需要使用任何“光谱spc文件”格式的文件。最好的办法是直接联系包的维护者。

票数 1
EN

Stack Overflow用户

发布于 2014-02-26 02:33:01

要使用soil.spec库在光谱上获得连续统移除变换,请按以下步骤操作:

  1. 准备原始光谱表,并确保其列包含要转换的光谱数据。移除所有非光谱列,并确保没有缺失值。
  2. 将原始光谱表的列名转换为数字format.
  3. Proceed,以运行如下所示的转换

raw.cw <- trans(raw,tr="continuum removed",order=1,gap=21)

raw.cw包含转换前的原始光谱,转换后的光谱矩阵现在在您的情况下删除了连续体和使用的转换方法。

要查看这三个对象的运行情况:

代码语言:javascript
复制
names(raw.cw)

raw.cw是分配给通过其他trans函数获得的结果的任意对象名称。

使用R系统中使用的标准语法从结果中提取连续谱:

代码语言:javascript
复制
cw.spectra<-raw.cw$trans

我们正在更新soil.spec软件包的文档,其中一些解释将在我们发布下一个更新版本时包括在内,该版本将带来处理光谱数据的额外功能。

请让我知道这是否有帮助,但如果你遇到任何困难,遵循这个指导方针,以获得预期的结果,我将很乐意帮助。

最好的

安德鲁

ICRAF

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21551278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档