使用files2SpectraObect的R ChemoSpec错误:频率数据似乎已损坏

时间:2014-02-14 14:25:19

标签: r infrared

我尝试使用ChemoSpec files2SpectraObect命令加载NIR光谱。数据直接来自* csv文件,但我收到以下错误消息:

  

files2SpectraObject(gr.crit = c(" BP"," TP"),   + gr.cols = c(" red3"," dodgerblue4"),   + freq.unit ="波长",   + int.unit ="反射",   + descrip =" Avenue samples",   + format =" csv",   + out.file =" NIR.ave")

Converting integer frequency values to numeric
*** There seem to be one or more problems with these spectra!
Error in chkSpectra(spectra) : 
  Sorry, we can't continue this way: It's not me, it's you!
In addition: Warning message:
In chkSpectra(spectra) : The frequency data appear to be corrupt
  

setwd(" W:\ SciFac \ OrgGeochem \ Staff \ Darren Beriro \ PhD \ R_PhD \ MIR光谱文件")   files2SpectraObject(gr.crit = c(" bp"," tp"),   + gr.cols = c(" red3"," dodgerblue4"),   + freq.unit =" Wavelenth",   + int.unit ="反射",   + descrip =" Avenue samples",   + format =" csv",   + out.file =" MIR.ave")

我检查了用于创建csv文件的数据帧,而波数是一个数值变量。数据范围从整数到350到2500。我以相同的方式加载了FTIR / MIR数据 - 频率值包括小数位,这些文件加载​​得很好。

2 个答案:

答案 0 :(得分:1)

好的,我只是逐行浏览files2SpectraObject和chkSpectra中的代码,chkSpectra是第一个函数内部调用的函数。我看到有两个问题。

如果频率是整数,chkSpectra将发出警告并停止该函数。我认为您无法在数据中修复此问题。这是粗略的,但我建议这个修复。

  

修复(chkSpectra)

删除运行stop()

的第81行
  

fix(files2SpectraObject)

在第171行,使用相同的参数将saveObject()更改为save()。这似乎是一个错误或功能,而不是我没有的常见包。

使用fix只会临时修复这些功能,所以除非你保存工作区,否则你每次加载csv时都需要重新运行这个修复程序

答案 1 :(得分:0)

检查分隔符和小数符号。尝试使用“,”作为十进制和“;”的csv2分离器。