我试图使用ChemoSpec files2SpectraObect命令加载近红外光谱。数据直接来自*csv文件,但我收到以下错误消息:
files2SpectraObject(gr.crit = c("BP","TP"),+ gr.cols = c("red3","dodgerblue4"),+ freq.unit =“波长”,+ int.unit =“反射率”,+gr.cols=“大道样本”,+ 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 corruptBeriro\PhD\R_PhD\MIR files2SpectraObject(gr.crit = c("bp","tp"),+ gr.cols = c("red3","dodgerblue4"),+ freq.unit =“小波”,+ int.unit =“反射”,+ out.file = "MIR.ave")
我已经检查了用于创建csv文件的数据,而have编号是一个数值变量。数据范围为350到2500之间的整数。我以同样的方式加载了FTIR / MIR数据--频率值包括小数位,这些文件加载得很好。
发布于 2015-01-16 23:52:49
好的,我只是逐行遍历来自files2SpectraObject和chkSpectra的代码,这是一个在第一个函数中调用的函数。我看到了两个问题。
如果频率是整数,chkSpectra将抛出一个警告并停止该函数。我不认为你能在你的数据中解决这个问题。这是粗略的,但我推荐这个解决办法。
fix(chkSpectra)
删除运行stop()的第81行
fix(files2SpectraObject)
在第171行中,使用相同的参数更改saveObject()以保存()。这似乎是一个bug或一个函数,而不是在一个我没有的普通包中。
使用fix只会临时修复函数,所以除非您保存工作区,否则每次加载csv时都可能需要重新运行此修复程序。
发布于 2014-09-15 21:34:18
检查分隔符和十进制符号。尝试使用",“作为小数点和";”分隔符的csv2。
https://stackoverflow.com/questions/21781901
复制相似问题