如何正确地将fft函数应用于数据帧

时间:2017-06-23 11:04:20

标签: r dataframe fft

为什么在将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)中的错误:非数字参数

1 个答案:

答案 0 :(得分:1)

仅使用数字列:

    apply(df,2,function(x) fft(as.numeric(x)))