我尝试使用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数据 - 频率值包括小数位,这些文件加载得很好。
答案 0 :(得分:1)
好的,我只是逐行浏览files2SpectraObject和chkSpectra中的代码,chkSpectra是第一个函数内部调用的函数。我看到有两个问题。
如果频率是整数,chkSpectra将发出警告并停止该函数。我认为您无法在数据中修复此问题。这是粗略的,但我建议这个修复。
修复(chkSpectra)
删除运行stop()
的第81行fix(files2SpectraObject)
在第171行,使用相同的参数将saveObject()更改为save()。这似乎是一个错误或功能,而不是我没有的常见包。
使用fix只会临时修复这些功能,所以除非你保存工作区,否则你每次加载csv时都需要重新运行这个修复程序
答案 1 :(得分:0)
检查分隔符和小数符号。尝试使用“,”作为十进制和“;”的csv2分离器。