-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInVar.R
More file actions
72 lines (46 loc) · 1.5 KB
/
InVar.R
File metadata and controls
72 lines (46 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
## InVar.R ##
#' @export
#'
##############################################
## Author Information ##
# * Author: E.Frolli
# * Orginization: Univeristy of Texas Marine Science Institute
# * Contact: frolli.erin@utexas.edu
# * Date: 28 Jun 2017
##############################################
## The Code ##
InVar <- function (qPCRData,E=NULL){
n = nrow(qPCRData) # Number of rows
L = ncol(qPCRData) # Number of col
# Defult E values
if(is.null(E)){
E = rep(2,L)
}
# create the Geometric mean vector
GeoMean = c()
for (i in 1:L){
GeoMean[i] = round(GeomMean(qPCRData[,i]),digits =2)
}
# create the InVar vectors
diff.G = matrix(0,nrow=n,ncol=L)
perdiff.G = matrix(0,nrow=n,ncol=L)
diff.G_Xfold = matrix(0,nrow=n,ncol=L)
for(i in 1:n){
for(ii in 1:L){
diff.G[i,ii] = qPCRData[i,ii] - GeoMean[ii]
perdiff.G[i,ii] = (qPCRData[i,ii]/GeoMean[ii]-1)*100
diff.G_Xfold[i,ii] = round( E[ii]^diff.G[i,ii],digits =2)
}
}
InVar = c()
perInVar = c()
InVar_Xfold = c()
for (i in 1:n){
InVar[i] = round(sd(diff.G[i,]),digits =2)
perInVar[i] = c(round(sd(perdiff.G[i,]),digits =2))
InVar_Xfold[i] = round(sd(diff.G_Xfold[i,]),digits =2)
}
InVars <- list("InVar" = InVar,"InVar_per" = perInVar,"InVar_Xfold" = InVar_Xfold)
# return Data
return(InVars)
}