为什么在将fft
(快速傅立叶变换)应用于数据帧时会出现此错误?如果我自己对每个变量使用相同的函数,则没有错误。
df<-read.table(text="pregnant glucose blood skin INSULIN MASS DIAB AGE CLASS predict_probability
1 106 70 28 135 34.2 0.142 22 0 0.15316285
1 91 54 25 100 25.2 0.234 23 0 0.05613959
4 136 70 0 0 31.2 1.182 22 1 0.54034794
9 164 78 0 0 32.8 0.148 45 1 0.64361578
3 173 78 39 185 33.8 0.970 31 1 0.79185196
11 136 84 35 130 28.3 0.260 42 1 0.31927737
0 141 84 26 0 32.4 0.433 22 0 0.41609308
3 106 72 0 0 25.8 0.207 27 0 0.10460090
9 145 80 46 130 37.9 0.637 40 1 0.67061324
10 111 70 27 0 27.5 0.141 40 1 0.16152296
",header=T)
如果我写fft(df$pregnant)
我得到了所需的结果,但我尝试在整个数据框fft(df)
上使用它我收到此错误:
fft(df)中的错误:非数字参数
答案 0 :(得分:1)
仅使用数字列:
apply(df,2,function(x) fft(as.numeric(x)))