Commit | Line | Data |
---|---|---|
5c652979 BA |
1 | toInteger <- function(x, condition) |
2 | { | |
3 | if (!is.integer(x)) | |
4 | tryCatch( | |
5 | {x = as.integer(x)[1]}, | |
6 | error = function(e) paste("cannot convert argument",substitute(x),"to integer") | |
7 | ) | |
8 | if (!condition(x)) | |
9 | stop(paste("argument",substitute(x),"does not verify condition",body(condition))) | |
10 | x | |
11 | } | |
12 | ||
48108c39 | 13 | writeCoeffs = function(coeffs) |
5c652979 | 14 | { |
48108c39 | 15 | file = ".coeffs" |
5c652979 BA |
16 | #......... |
17 | #C function (from data.frame, type of IDs ??! force integers ? [yes]) | |
18 | #return raw vector | |
5c652979 | 19 | #take raw vector, append it (binary mode) to a file |
7b13d0c2 | 20 | #TODO: appendCoeffs() en C --> serialize et append to file |
5c652979 BA |
21 | } |
22 | ||
48108c39 | 23 | readCoeffs = function(indices) |
5c652979 BA |
24 | { |
25 | #...... | |
48108c39 | 26 | file = ".coeffs" |
5c652979 BA |
27 | #C function (from file name) |
28 | } | |
29 | ||
30 | getSeries(data, rank=NULL, id=NULL) | |
31 | { | |
32 | #TODO: | |
33 | } | |
0e2dce80 BA |
34 | |
35 | curvesToCoeffs = function(series, wf) | |
36 | { | |
37 | L = length(series[1,]) | |
38 | D = ceiling( log2(L) ) | |
39 | nb_sample_points = 2^D | |
40 | apply(series, 1, function(x) { | |
41 | interpolated_curve = spline(1:L, x, n=nb_sample_points)$y | |
42 | W = wavelets::dwt(interpolated_curve, filter=wf, D)@W | |
43 | rev( sapply( W, function(v) ( sqrt( sum(v^2) ) ) ) ) | |
44 | }) | |
45 | } |