Corrected implementation
Added tests
... | ... |
@@ -47,9 +47,9 @@ setMethod(f="model_apply", |
47 | 47 |
smeta=D$sample_meta |
48 | 48 |
x=D$data |
49 | 49 |
|
50 |
- coeff = apply(x,MARGIN = 2,FUN = function(z) sqrt(sum(z, na.rm = TRUE))) |
|
51 |
- normalised = apply(x,MARGIN = 2,FUN = function(z) z/sqrt(sum(z, na.rm=TRUE))) |
|
52 |
- D$data = as.data.frame(normalised) |
|
50 |
+ coeff = apply(x,MARGIN = 1,FUN = function(z) sqrt(sum(z*z, na.rm = TRUE))) |
|
51 |
+ normalised = apply(x,MARGIN = 1,FUN = function(z) z/sqrt(sum(z*z, na.rm=TRUE))) |
|
52 |
+ D$data = as.data.frame(t(normalised)) |
|
53 | 53 |
|
54 | 54 |
output_value(M,'normalised') = D |
55 | 55 |
output_value(M,'coeff') = data.frame('coeff'=coeff) |
... | ... |
@@ -7,5 +7,8 @@ test_that('vecnorm',{ |
7 | 7 |
M = vec_norm() |
8 | 8 |
# apply |
9 | 9 |
M = model_apply(M,D) |
10 |
- expect_equal(M$normalised$data[1,1],0.172,tolerance=0.001) |
|
10 |
+ expect_equal(sum(M$normalised$data[1,]^2),1,tolerance=0.00001) |
|
11 |
+ expect_equal(sum(M$normalised$data[5,]^2),1,tolerance=0.00001) |
|
12 |
+ expect_equal(sum(M$normalised$data[25,]^2),1,tolerance=0.00001) |
|
13 |
+ expect_equal(predicted(M)$data[1,1],0.8037,tolerance=0.0001) |
|
11 | 14 |
}) |