annotate withinvariation-26603602a823/transformation_script.R @ 0:5086ad0c0992 draft default tip

Uploaded v0.4
author yguitton
date Fri, 05 May 2017 05:04:36 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
1 ## Etienne Thevenot
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
2 ## W4M Core Development Team
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
3 ## etienne.thevenot@cea.fr
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
4 ## 2015-04-25
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
5
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
6 transformF <- function(datMN,
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
7 metC) {
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
8
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
9 ## options
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
10
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
11 optStrAsFacL <- options()[["stringsAsFactors"]]
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
12 options(stringsAsFactors = FALSE)
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
13
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
14 ## checking
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
15
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
16 if(length(which(datMN < 0))) {
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
17 cat("\nThe 'dataMatrix' contains negative values\n")
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
18 sink()
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
19 stop("The 'dataMatrix' contains negative values", call. = FALSE)
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
20 }
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
21
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
22 ## Number of missing values
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
23 nasN <- length(which(is.na(datMN)))
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
24 cat("\nMissing values in the 'dataMatrix': ",
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
25 nasN,
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
26 " (",
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
27 round(nasN / cumprod(dim(datMN))[2] * 100),
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
28 "%)\n",
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
29 sep="")
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
30
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
31 ## Number of zero values
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
32 zerN <- length(which(datMN == 0))
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
33 cat("\nZero values in the 'dataMatrix': ",
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
34 zerN,
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
35 " (",
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
36 round(zerN / cumprod(dim(datMN))[2] * 100),
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
37 "%)\n",
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
38 sep="")
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
39
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
40 ## transformation
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
41
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
42 switch(metC,
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
43 log2 = {
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
44
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
45 cat("\n'log2' transformation\n", sep="")
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
46
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
47 trfMN <- log2(1 + datMN)
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
48
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
49 },
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
50 log10 = {
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
51
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
52 cat("\n'log10' transformation\n", sep="")
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
53
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
54 trfMN <- log10(1 + datMN)
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
55
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
56 },
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
57 sqrt = {
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
58
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
59 cat("\n'Square root' transformation\n", sep="")
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
60
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
61 trfMN <- sqrt(datMN)
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
62
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
63
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
64 }) ## end of method
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
65
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
66
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
67 ## returning
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
68
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
69 options(stringsAsFactors=optStrAsFacL)
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
70
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
71 return(trfMN)
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
72
5086ad0c0992 Uploaded v0.4
yguitton
parents:
diff changeset
73 } ## end of transformF