annotate Intchecks/Script_intensity_check.R @ 5:a31f3f802b2b draft

Uploaded
author melpetera
date Wed, 22 Jan 2020 09:34:08 -0500
parents bdee2c2c484b
children ec75de7f1e08
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
1 #########################################################################
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
2 # SCRIPT INTENSITY CHECK #
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
3 # #
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
4 # Input: Data Matrix, VariableMetadata, SampleMetadata #
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
5 # Output: VariableMetadata, Graphics #
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
6 # #
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
7 # Dependencies: RcheckLibrary.R #
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
8 # #
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
9 #########################################################################
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
10
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
11
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
12 # Parameters (for dev)
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
13 if(FALSE){
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
14
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
15 rm(list = ls())
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
16 setwd("Y:\\Developpement\\Intensity check\\Pour tests\\Tests_global")
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
17
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
18 DM.name <- "DM_NA.tabular"
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
19 SM.name <- "SM_NA.tabular"
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
20 VM.name <- "vM_NA.tabular"
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
21 method <- "one_class"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
22 chosen.stat <- "mean,sd,quartile,decile,NA"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
23 class.col <- "2"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
24 test.fold <- "Yes"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
25 class1 <- "Pools"
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
26 fold.frac <- "Top"
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
27 logarithm <- "log10"
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
28 VM.output <- "new_VM.txt"
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
29 graphs.output <- "Barplots_and_Boxplots.pdf"
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
30 }
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
31
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
32
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
33
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
34
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
35 intens_check <- function(DM.name, SM.name, VM.name, method, chosen.stat, class.col, test.fold, class1, fold.frac,
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
36 logarithm, VM.output, graphs.output){
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
37
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
38 # This function allows to check the intensities with various statistics, number of missing values and mean fold change
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
39 #
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
40 # Three methods proposed:
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
41 # - global: tests for each variable without distinction between samples
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
42 # - one class: one class versus all the remaining samples
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
43 # - each class: if the class columns contains at least three classes and you want to test each of them
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
44 #
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
45 # Parameters:
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
46 # DM.name, SM.name, VM.name: dataMatrix, sampleMetadata, variableMetadata files access
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
47 # method: "global", "one_class", "each_class"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
48 # chosen.stat: character listing the chosen analysis (comma-separated)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
49 # class.col: number of the sampleMetadata's column with classes (if method = one_class or each_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
50 # test.fold: "yes" or "no" (if method = one_class or each_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
51 # class1: name of the class (if method = one_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
52 # fold.frac: "Top" -> class1/other or "Bottom" -> other/class1 (if method = one_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
53 # logarithm: "log2", "log10" or "none" (if method = one_class or each_class)
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
54 # VM.output: output file's access (VM with new columns)
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
55 # graphs.output: pdf file's access with barplots for the proportion of NA and boxplots with the folds values
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
56
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
57
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
58
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
59
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
60 # Input ---------------------------------------------------------------------------------------------------
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
61
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
62 DM <- read.table(DM.name, header=TRUE, sep="\t", check.names=FALSE)
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
63 SM <- read.table(SM.name, header=TRUE, sep="\t", check.names=FALSE)
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
64 VM <- read.table(VM.name, header=TRUE, sep="\t", check.names=FALSE)
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
65
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
66
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
67
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
68 # Table match check with Rchecklibrary
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
69 table.check <- match3(DM, SM, VM)
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
70 check.err(table.check)
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
71
5
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
72 # Transposing the dataMatrix
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
73 rownames(DM) <- DM[,1]
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
74 var_names <- DM[,1]
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
75 DM <- DM[,-1]
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
76 DM <- data.frame(t(DM))
5
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
77
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
78 # Re-ordering the dataMatrix to match the sampleMetadata file order
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
79 DM <- merge(x=cbind(1:nrow(SM),SM), y=DM, by.x=2, by.y=0)
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
80 DM <- DM[order(DM[,2]),]
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
81 rownames(DM) <- DM[,1]
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
82 DM <- DM[,-c(1:(ncol(SM)+1))]
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
83
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
84
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
85 stat.list <- strsplit(chosen.stat,",")[[1]]
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
86
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
87
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
88 # check class.col, class1 and the number of classes ---------------------------------------------------------
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
89
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
90 #set 1 class for all samples in case of method = no_class
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
91 if(method=="no_class"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
92 c_class <- rep("global", length=nrow(DM))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
93 classnames <- "global"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
94 nb_class=1
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
95 test.fold <- "No"
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
96 }
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
97
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
98
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
99 if(method != "no_class"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
100
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
101 class.col <- colnames(SM)[as.numeric(class.col)]
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
102
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
103 if(!(class.col %in% colnames(SM))){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
104 stop("\n- - - - - - - - -\n", "The column ",class.col, " is not a part of the specify sample Metadata","\n- - - - - - - - -\n")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
105 }
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
106
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
107 c_class <- SM[,class.col]
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
108 c_class <- as.factor(c_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
109 nb_class <- nlevels(c_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
110 classnames <- levels(c_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
111
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
112 if((nb_class < 2)&&(test.fold=="Yes")){
5
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
113 err.1class <- c("\n The column",class.col, "contains only one class, fold calculation could not be executed. \n")
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
114 cat(err.1class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
115 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
116
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
117 if((nb_class > (nrow(SM))/3)&&(method == "each_class")){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
118 class.err <- c("\n There are too many classes, think about reducing the number of classes and excluding those
5
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
119 with few samples. \n")
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
120 cat(class.err)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
121 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
122
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
123
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
124 if(method == "one_class"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
125 if(!(class1 %in% classnames)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
126 list.class1 <- c("\n Classes:",classnames,"\n")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
127 cat(list.class1)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
128 err.class1 <- c("The class ",class1, " does not appear in the column ", class.col)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
129 stop("\n- - - - - - - - -\n", err.class1,"\n- - - - - - - - -\n")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
130 }
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
131
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
132 #If method is "one_class", change others classes in "other"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
133 for(i in 1:length(c_class)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
134 if(c_class[i]!=class1){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
135 c_class <- as.character(c_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
136 c_class[i] <- "Other"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
137 c_class <- as.factor(c_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
138 nb_class <- nlevels(c_class)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
139 classnames <- c(class1,"Other")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
140 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
141 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
142 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
143
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
144 }
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
145
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
146
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
147 # Statistics ------------------------------------------------------------------------------------------------
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
148
5
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
149 # Check whether the dataMatrix contains non-numeric values
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
150 if(!(is.numeric(as.matrix(DM)))){
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
151 # findchar definition
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
152 findchar <- function(myval){
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
153 if(is.na(myval)){
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
154 return("ok")
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
155 }else{
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
156 mytest <- as.character(myval)
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
157 if(is.na(as.numeric(mytest[1]))){
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
158 return("char")
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
159 }else{
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
160 return("ok")
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
161 }
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
162 }
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
163 }
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
164 # findchar application
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
165 chardiag <- suppressWarnings(apply(DM,2,vapply,findchar,"character"))
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
166 charlist <- which(chardiag == "char")
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
167 err.stock <- paste("\n- - - - - - - - -\nYour dataMatrix contains",
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
168 length(charlist),
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
169 "non-numeric value(s). To help you check your data, please find below a short overview:\n")
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
170 charover <- 1
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
171 while((length(err.stock)<10)&(length(err.stock)<(length(charlist)+1))){
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
172 charex <- paste("variable",colnames(DM)[ceiling(charlist[charover]/nrow(DM))],
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
173 "- sample",rownames(DM)[charlist[charover]-floor(charlist[charover]/nrow(DM))*nrow(DM)],
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
174 "~> value:",as.matrix(DM)[charlist[charover]],"\n")
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
175 err.stock <- c(err.stock,charex)
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
176 charover <- charover + 1
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
177 }
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
178 stop(c(err.stock,"The dataMatrix file is supposed to contain only numeric values.\n- - - - - - - - -\n"))
a31f3f802b2b Uploaded
melpetera
parents: 3
diff changeset
179 }
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
180
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
181 ### Initialization
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
182
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
183 DM <- cbind(c_class,DM)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
184
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
185 stat.res <- t(DM[0,-1,drop=FALSE])
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
186 names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
187
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
188 mean.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
189 mean.names <- NULL
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
190
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
191 sd.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
192 sd.names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
193
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
194 med.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
195 med.names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
196
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
197 quart.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
198 quart.names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
199
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
200 dec.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
201 dec.names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
202
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
203 NA.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
204 NA.names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
205 pct_NA.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
206 pct_NA.names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
207
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
208 fold.res <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
209 fold.names <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
210
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
211 if(("NA" %in% stat.list)||(test.fold=="Yes")){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
212 graphs <- 1
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
213 }else{
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
214 graphs=0
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
215 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
216
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
217 data_bp <- data.frame() #table for NA barplot
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
218
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
219
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
220
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
221 ### Computation
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
222
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
223
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
224 for(j in 1:nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
225
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
226 # Mean ---------
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
227
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
228 if("mean" %in% stat.list){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
229 mean.res <- cbind(mean.res, colMeans(DM[which(DM$c_class==classnames[j]),-1],na.rm=TRUE))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
230 mean.names <- cbind(mean.names, paste("Mean",classnames[j], sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
231 if(j == nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
232 stat.res <- cbind(stat.res, mean.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
233 names <- cbind(names, mean.names)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
234 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
235 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
236
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
237 # Standard deviation -----
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
238
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
239 if("sd" %in% stat.list){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
240 sd.res <- cbind(sd.res, apply(DM[which(DM$c_class==classnames[j]),-1],2,sd,na.rm=TRUE))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
241 sd.names <- cbind(sd.names, paste("Sd",classnames[j], sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
242 if(j == nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
243 stat.res <- cbind(stat.res, sd.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
244 names <- cbind(names, sd.names)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
245 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
246 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
247
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
248 # Median ---------
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
249
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
250 if(("median" %in% stat.list)&&(!("quartile" %in% stat.list))){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
251 med.res <- cbind(med.res, apply(DM[which(DM$c_class==classnames[j]),-1],2,median,na.rm=TRUE))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
252 med.names <- cbind(med.names, paste("Median",classnames[j], sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
253 if(j == nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
254 stat.res <- cbind(stat.res, med.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
255 names <- cbind(names, med.names)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
256 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
257 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
258
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
259 # Quartiles ------
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
260
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
261 if("quartile" %in% stat.list){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
262 quart.res <- cbind(quart.res,t(apply(DM[which(DM$c_class==classnames[j]),-1],2,quantile,na.rm=TRUE)))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
263 quart.names <- cbind(quart.names, paste("Min",classnames[j], sep="_"),paste("Q1",classnames[j], sep="_"),
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
264 paste("Median",classnames[j],sep="_"),paste("Q3",classnames[j],sep="_"),
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
265 paste("Max",classnames[j],sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
266 if(j == nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
267 stat.res <- cbind(stat.res, quart.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
268 names <- cbind(names, quart.names)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
269 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
270 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
271
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
272 # Deciles ------
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
273
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
274 if("decile" %in% stat.list){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
275 dec.res <- cbind(dec.res,t(apply(DM[which(DM$c_class==classnames[j]),-1],2,quantile,na.rm=TRUE,seq(0,1,0.1))))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
276 dec.names <- cbind(dec.names, t(matrix(paste((paste("D",seq(0,10,1),sep="")),classnames[j],sep="_"))))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
277 if(j == nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
278 stat.res <- cbind(stat.res, dec.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
279 names <- cbind(names, dec.names)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
280 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
281 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
282
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
283 # Missing values ------------
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
284
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
285 if("NA" %in% stat.list){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
286
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
287 nb_NA <- apply(DM[which(DM$c_class==classnames[j]),-1],2,function(x) sum(is.na(x)))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
288 pct_NA <- round(nb_NA/nrow(DM[which(DM$c_class==classnames[j]),-1])*100,digits=4)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
289 NA.res <- cbind(NA.res,nb_NA)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
290 pct_NA.res <- cbind(pct_NA.res,pct_NA)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
291 NA.names <- cbind(NA.names, paste("NA",classnames[j], sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
292 pct_NA.names <- cbind(pct_NA.names,paste("Pct_NA", classnames[j], sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
293 if(j == nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
294 stat.res <- cbind(stat.res, NA.res,pct_NA.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
295 names <- cbind(names, NA.names,pct_NA.names)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
296 }
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
297
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
298 #for barplots
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
299 Nb_NA_0_20 <- 0
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
300 Nb_NA_20_40 <- 0
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
301 Nb_NA_40_60 <- 0
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
302 Nb_NA_60_80 <- 0
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
303 Nb_NA_80_100 <- 0
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
304
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
305 for (i in 1:length(pct_NA)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
306
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
307 if ((0<=pct_NA[i])&(pct_NA[i]<20)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
308 Nb_NA_0_20=Nb_NA_0_20+1}
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
309
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
310 if ((20<=pct_NA[i])&(pct_NA[i]<40)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
311 Nb_NA_20_40=Nb_NA_20_40+1}
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
312
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
313 if ((40<=pct_NA[i])&(pct_NA[i]<60)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
314 Nb_NA_40_60=Nb_NA_40_60+1}
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
315
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
316 if ((60<=pct_NA[i])&(pct_NA[i]<80)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
317 Nb_NA_60_80=Nb_NA_60_80+1}
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
318
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
319 if ((80<=pct_NA[i])&(pct_NA[i]<=100)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
320 Nb_NA_80_100=Nb_NA_80_100+1}
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
321 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
322 data_bp[1,j] <- Nb_NA_0_20
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
323 data_bp[2,j] <- Nb_NA_20_40
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
324 data_bp[3,j] <- Nb_NA_40_60
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
325 data_bp[4,j] <- Nb_NA_60_80
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
326 data_bp[5,j] <- Nb_NA_80_100
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
327 rownames(data_bp) <- c("0%-20%", "20%-40%", "40%-60%", "60%-80%", "80%-100%")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
328
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
329 if(j == nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
330
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
331 # Alert message if there is no missing value in data matrix
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
332 sum_total <- sum(NA.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
333 alerte <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
334 if(sum_total==0){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
335 alerte <- c(alerte, "Data Matrix contains no NA.\n")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
336 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
337 if(length(alerte) != 0){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
338 cat(alerte,"\n")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
339 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
340
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
341
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
342 colnames(data_bp) <- classnames
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
343 data_bp <- as.matrix(data_bp)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
344 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
345 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
346
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
347
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
348 # Mean fold change ------------
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
349
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
350 if(test.fold=="Yes"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
351 if(nb_class >= 2){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
352 if(j!=nb_class){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
353 ratio1 <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
354 ratio2 <- NULL
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
355 if(method=="each_class"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
356 fold.frac <- "Top"
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
357 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
358 for(k in (j+1):nb_class) {
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
359 if(fold.frac=="Bottom"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
360 ratio1 <- classnames[k]
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
361 ratio2 <- classnames[j]
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
362 }else{
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
363 ratio1 <- classnames[j]
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
364 ratio2 <- classnames[k]
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
365 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
366 fold <- colMeans(DM[which(DM$c_class==ratio1),-1],na.rm=TRUE)/
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
367 colMeans(DM[which(DM$c_class==ratio2),-1],na.rm=TRUE)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
368 if(logarithm=="log2"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
369 fold.res <- cbind(fold.res,log2(fold))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
370 }else if(logarithm=="log10"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
371 fold.res <- cbind(fold.res,log10(fold))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
372 }else{
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
373 fold.res <- cbind(fold.res, fold)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
374 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
375 if(logarithm == "none"){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
376 fold.names <- cbind(fold.names,paste("fold",ratio1,"VS", ratio2, sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
377 }else{
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
378 fold.names <- cbind(fold.names,paste(logarithm, "fold", ratio1, "VS", ratio2, sep="_"))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
379 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
380 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
381
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
382 }else{
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
383 stat.res <- cbind(stat.res,fold.res)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
384 names <- cbind(names, fold.names)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
385 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
386 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
387 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
388
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
389 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
390
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
391 ############
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
392
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
393
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
394 # check columns names in variableMetadata
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
395
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
396 VM.names <- colnames(VM)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
397 for (i in 1:length(VM.names)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
398 for (j in 1:length(names)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
399 if (VM.names[i]==names[j]){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
400 names[j] <- paste(names[j], "2", sep="_")
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
401 }
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
402 }
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
403 }
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
404
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
405 colnames(stat.res) <- names
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
406
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
407
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
408
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
409
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
410
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
411
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
412 # Output ---------------------------------------------------------------------------------------------------
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
413
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
414 VM <-cbind(VM,stat.res)
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
415
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
416 write.table(VM, VM.output,sep="\t", quote=FALSE, row.names=FALSE)
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
417
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
418
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
419 ### graphics pdf
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
420
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
421 if(graphs == 1){
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
422
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
423 pdf(graphs.output)
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
424
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
425
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
426 #Barplots for NA
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
427 if("NA" %in% stat.list){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
428 graph.colors <- c("green3","palegreen3","lightblue","orangered","red")
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
429 par(mar=c(5.1, 4.1, 4.1, 8.1), xpd=TRUE)
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
430
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
431 bp=barplot(data_bp, col=graph.colors, main="Proportion of NA", xlab="Classes", ylab="Variables")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
432 legend("topright", fill=graph.colors,rownames(data_bp), inset=c(-0.3,0))
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
433
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
434 stock=0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
435 for (i in 1:nrow(data_bp)){
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
436 text(bp, stock+data_bp[i,]/2, data_bp[i,], col="white", cex=0.7)
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
437 stock <- stock+data_bp[i,]
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
438 }
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
439
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
440 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
441
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
442 # Boxplots for fold test
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
443
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
444 if((test.fold=="Yes")&&(nb_class >= 2)){
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
445
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
446 clean_fold <- fold.res
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
447 for(i in 1:nrow(clean_fold)){
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
448 for(j in 1:ncol(clean_fold)){
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
449 if(is.infinite(clean_fold[i,j])){
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
450 clean_fold[i,j] <- NA
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
451 }
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
452 }
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
453 }
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
454 for (j in 1:ncol(clean_fold)){
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
455 title <- paste(fold.names[j])
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
456 boxplot(clean_fold[,j], main=title)
1
4973a2104cfd Uploaded
melpetera
parents: 0
diff changeset
457 }
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
458 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
459
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
460 dev.off()
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
461
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
462 }else{
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
463 pdf(graphs.output)
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
464 plot.new()
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
465 legend("center","You did not select any option with graphical output.")
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
466 dev.off()
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
467 }
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
468
3
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
469 }
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
470
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
471
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
472
bdee2c2c484b Uploaded
melpetera
parents: 1
diff changeset
473
0
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
474
c2c2e1be904a Uploaded
melpetera
parents:
diff changeset
475