我一直非常喜欢使用Horiba数据与Hyperspec合作。但是,我现在正在处理来自自定义乐器的数据,该乐器有两种主要文件类型,我一直难以阅读。
在两种情况下,样品(每个单一光谱)都在列中。第一列是波长。在一种情况下,文件具有标题(波长,样本1,样本2,......),另一个文件没有标题。这两个文件都是","分隔。在这种特定情况下,没有与数据相关的空间信息。但是,我想对数据进行处理,好像数据是在一行中收集的,这样列索引-1(第一列是波长)被视为x坐标,y总是= 1。
我已经尝试过几个版本的read.txt.long
和read.txt.wide
,修改后的版本:
file <- read.table ("txt.t/Triazine 5_31.txt", header = TRUE, dec = ",", sep = "\t")
triazine <- new ("hyperSpec", wavelength = file [,1], spc = t (file [, -1]), data = data.frame (sample = colnames (file [, -1])),labels = list (.wavelength = "cm-1", spc = "I"))
和
wave_file <- "t100_UC.txt"
wave_intensities <- read_delim(wave_file, "/,")
new ("hyperSpec", spc = wave_intensities)
我对R和hyperspec相当新,所以我可能会遗漏一些明显的东西。
我收到的错误是:
validObject(.Object)中的错误:
无效类“hyperSpec”对象:波长向量的长度与每个频谱的数据点数不同 另外:警告信息:
1:在.local(.Object,...)中:由强制引入的NA 2:在.local(.Object,...)中:光谱矩阵不是数字而是矩阵。