projects
/
epclust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
export vars to nodes
[epclust.git]
/
epclust
/
R
/
computeCoeffs.R
diff --git
a/epclust/R/computeCoeffs.R
b/epclust/R/computeCoeffs.R
index
5bc4744
..
fca3b91
100644
(file)
--- a/
epclust/R/computeCoeffs.R
+++ b/
epclust/R/computeCoeffs.R
@@
-27,20
+27,17
@@
computeCoeffs = function(data, index, nb_series_per_chunk, wf)
coeffs_chunk
}
coeffs_chunk
}
-#NOTE: always keep ID in first column
curvesToCoeffs = function(series, wf)
{
if (!require(wavelets, quietly=TRUE))
stop("Couldn't load wavelets library")
L = length(series[1,])
curvesToCoeffs = function(series, wf)
{
if (!require(wavelets, quietly=TRUE))
stop("Couldn't load wavelets library")
L = length(series[1,])
- D = ceiling( log2(L
-1
) )
+ D = ceiling( log2(L) )
nb_sample_points = 2^D
#TODO: parallel::parApply() ?!
nb_sample_points = 2^D
#TODO: parallel::parApply() ?!
-
res =
apply(series, 1, function(x) {
- interpolated_curve = spline(1:
(L-1), x[2:L]
, n=nb_sample_points)$y
+
as.data.frame(
apply(series, 1, function(x) {
+ interpolated_curve = spline(1:
L, x
, n=nb_sample_points)$y
W = wavelets::dwt(interpolated_curve, filter=wf, D)@W
W = wavelets::dwt(interpolated_curve, filter=wf, D)@W
- nrj_coeffs = rev( sapply( W, function(v) ( sqrt( sum(v^2) ) ) ) )
- return ( c(x[1], nrj_coeffs) )
- })
- return (as.data.frame(res))
+ rev( sapply( W, function(v) ( sqrt( sum(v^2) ) ) ) )
+ }) )
}
}