想对光谱数据进行连续统去除处理,看到B站上的一个教程,照着抄下来了用R语言运行,遇到了一个问题不知道怎么解决。
出来这个报错
请问一下这个该怎么解决?
想对光谱数据进行连续统去除处理,看到B站上的一个教程,照着抄下来了用R语言运行,遇到了一个问题不知道怎么解决。
该回答引用ChatGPT
根据你提供的代码和错误信息,有几个问题需要解决。首先,你在导入库时使用了 Tibrary 和 openx1sx,但正确的拼写应该是 library 和 openxlsx。因此,你需要将这两个拼写更正为正确的形式,以便导入库。
其次,在读取 Excel 文件时,你在 read.xlsx 函数中使用了 CNames 参数,但正确的参数名称应该是 colNames。你需要将参数名称更正为正确的形式。
最后,你使用了 <- 运算符,这种运算符只能用于原子和列表类型的变量,而不能用于数据框。因此,在运行 continuumRemoval 函数之前,你需要将数据框转换为向量。另外,continuumRemoval 函数的名称拼写错误,正确的拼写是 continuumRemoval。
参考下面修正的代码
library(prospectr)
library(openxlsx)
spc <- read.xlsx("c:/Users/mgy/Desktop/新建 XLSX 工作表.xlsx", sheet = 1, colNames = FALSE)
wav <- as.numeric(colnames(spc))
class(spc)
# [1] "data.frame"
c <- continuumRemoval(as.vector(unlist(spc)), type = 'R')
write.xlsx(c, file = "c:/users/mgy/Desktop/cr.xlsx")