我读取了 csv 文件的每一行并将每一行的第一个元素保存在一个列表中,然后我想在这个列表上运行 FFT,但我收到了这个错误:
Error in fft(x) : non-numeric argument
在我的示例中,我读了 4 行:
con<-file("C:\\bla\\test.csv","r")
datalist<-list()
m<-list()
for(i in 1:4)
{
line<-readLines(con,n=1,warn=FALSE)
m<-list(as.integer(unlist(strsplit(line,split=","))))
datalist<-c(datalist,sapply(m,"[[",1))
}
datalist
close(con)
fftfun<- function(x) {fft(x)}
fft_amplitude <- function(x) {sqrt((Re(fft(x)))^2+(Im(fft(x)))^2)} }
apply(as.matrix(datalist),2,FUN=fftfun)
我应该怎么做才能解决这个问题?
编辑 我在 csv 文件中的行:
12,85,365,145,23
13,84,364,144,21
14,86,366,143,24
15,83,363,146,22
16,85,365,145,23
17,80,361,142,21