comparison src/test-AnalysisModules/test-AnalysisModules.R @ 0:e0b5980139d9

maaslin
author george-weingart
date Tue, 13 May 2014 22:00:40 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:e0b5980139d9
1 c_strDir <- file.path(getwd( ),"..")
2
3 source(file.path(c_strDir,"lib","Constants.R"))
4 source(file.path(c_strDir,"lib","Utility.R"))
5
6 #Test Utilities
7 context("Test funcGetLMResults")
8 context("Test funcGetStepPredictors")
9
10 context("Test funcMakeContrasts")
11 covX1 = c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
12 covX2 = c(144.4, 245.9, 141.9, 253.3, 144.7, 244.1, 150.7, 245.2, 160.1)
13 covX3 = as.factor(c(1,2,3,1,2,3,1,2,3))
14 covX4 = as.factor(c(1,1,1,1,2,2,2,2,2))
15 covX5 = as.factor(c(1,2,1,2,1,2,1,2,1))
16 covY = c(.26, .31, .25, .50, .36, .40, .52, .28, .38)
17 frmeTmp = data.frame(Covariate1=covX1, Covariate2=covX2, Covariate3=covX3, Covariate4=covX4, Covariate5=covX5, adCur= covY)
18 iTaxon = 6
19 #Add in updating QC errors
20 #Add in random covariates
21 strFormula = "adCur ~ Covariate1"
22 strRandomFormula = NULL
23 lsSig = list()
24 lsSig[[1]] = list()
25 lsSig[[1]]$name = "Covariate1"
26 lsSig[[1]]$orig = "Covariate1"
27 lsSig[[1]]$taxon = "adCur"
28 lsSig[[1]]$data = covY
29 lsSig[[1]]$factors = "Covariate1"
30 lsSig[[1]]$metadata = covX1
31 vdCoef = c(Covariate1=0.6)
32 lsSig[[1]]$value = vdCoef
33 lsSig[[1]]$std = sd(covX1)
34 lsSig[[1]]$allCoefs = vdCoef
35 ret1 = funcMakeContrasts(strFormula=strFormula, strRandomFormula=strRandomFormula, frmeTmp=frmeTmp, iTaxon=iTaxon,
36 functionContrast=function(x,adCur,dfData)
37 {
38 retList = list()
39 ret = cor.test(as.formula(paste("~",x,"+ adCur")), data=dfData, method="spearman", na.action=c_strNA_Action)
40 #Returning rho for the coef in a named vector
41 vdCoef = c()
42 vdCoef[[x]]=ret$estimate
43 retList[[1]]=list(p.value=ret$p.value,SD=sd(dfData[[x]]),name=x,coef=vdCoef)
44 return(retList)
45 }, lsQCCounts=list())
46 ret1$adP = round(ret1$adP,5)
47 test_that("1. Test that the funcMakeContrasts works on a continuous variable.",{
48 expect_equal(ret1,list(adP=round(c(0.09679784),5),lsSig=lsSig,lsQCCounts=list()))})
49
50 strFormula = "adCur ~ Covariate1 + Covariate2"
51 strRandomFormula = NULL
52 lsSig = list()
53 lsSig[[1]] = list()
54 lsSig[[1]]$name = "Covariate1"
55 lsSig[[1]]$orig = "Covariate1"
56 lsSig[[1]]$taxon = "adCur"
57 lsSig[[1]]$data = covY
58 lsSig[[1]]$factors = "Covariate1"
59 lsSig[[1]]$metadata = covX1
60 vdCoef = c(Covariate1=0.6)
61 lsSig[[1]]$value = vdCoef
62 lsSig[[1]]$std = sd(covX1)
63 lsSig[[1]]$allCoefs = vdCoef
64 lsSig[[2]] = list()
65 lsSig[[2]]$name = "Covariate2"
66 lsSig[[2]]$orig = "Covariate2"
67 lsSig[[2]]$taxon = "adCur"
68 lsSig[[2]]$data = covY
69 lsSig[[2]]$factors = "Covariate2"
70 lsSig[[2]]$metadata = covX2
71 vdCoef = c(Covariate2=0.46666667)
72 lsSig[[2]]$value = vdCoef
73 lsSig[[2]]$std = sd(covX2)
74 lsSig[[2]]$allCoefs = vdCoef
75 ret1 = funcMakeContrasts(strFormula=strFormula, strRandomFormula=strRandomFormula, frmeTmp=frmeTmp, iTaxon=iTaxon,
76 functionContrast=function(x,adCur,dfData)
77 {
78 retList = list()
79 ret = cor.test(as.formula(paste("~",x,"+ adCur")), data=dfData, method="spearman", na.action=c_strNA_Action)
80 #Returning rho for the coef in a named vector
81 vdCoef = c()
82 vdCoef[[x]]=ret$estimate
83 retList[[1]]=list(p.value=ret$p.value,SD=sd(dfData[[x]]),name=x,coef=vdCoef)
84 return(retList)
85 }, lsQCCounts=list())
86 ret1$adP = round(ret1$adP,5)
87 test_that("Test that the funcMakeContrasts works on 2 continuous variables.",{
88 expect_equal(ret1,list(adP=round(c(0.09679784,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))})
89
90 strFormula = "adCur ~ Covariate4"
91 strRandomFormula = NULL
92 lsSig = list()
93 lsSig[[1]] = list()
94 lsSig[[1]]$name = "Covariate4"
95 lsSig[[1]]$orig = "Covariate42"
96 lsSig[[1]]$taxon = "adCur"
97 lsSig[[1]]$data = covY
98 lsSig[[1]]$factors = "Covariate4"
99 lsSig[[1]]$metadata = covX4 #update
100 vdCoef = c(Covariate42=NA)
101 lsSig[[1]]$value = vdCoef
102 lsSig[[1]]$std = sd(covX4) #update
103 lsSig[[1]]$allCoefs = vdCoef
104 # Get return
105 rets = funcMakeContrasts(strFormula=strFormula, strRandomFormula=strRandomFormula, frmeTmp=frmeTmp, iTaxon=iTaxon,
106 functionContrast=function(x,adCur,dfData)
107 {
108 retList = list()
109 lmodKW = kruskal(adCur,dfData[[x]],group=FALSE,p.adj="holm")
110 asLevels = levels(dfData[[x]])
111 # The names of the generated comparisons, sometimes the control is first sometimes it is not so
112 # We will just check which is in the names and use that
113 asComparisons = row.names(lmodKW$comparisons)
114 #Get the comparison with the control
115 for(sLevel in asLevels[2:length(asLevels)])
116 {
117 sComparison = intersect(c(paste(asLevels[1],sLevel,sep=" - "),paste(sLevel,asLevels[1],sep=" - ")),asComparisons)
118 #Returning NA for the coef in a named vector
119 vdCoef = c()
120 vdCoef[[paste(x,sLevel,sep="")]]=NA
121 retList[[length(retList)+1]]=list(p.value=lmodKW$comparisons[sComparison,"p.value"],SD=NA,name=paste(x,sLevel,sep=""),coef=vdCoef)
122 }
123 return(retList)
124 }, lsQCCounts=list())
125 rets$adP=round(rets$adP,digits=5)
126 test_that("Test that the funcMakeContrasts works on 1 factor covariate with 2 levels.",{
127 expect_equal(rets,list(adP=round(c(0.24434),5),lsSig=lsSig,lsQCCounts=list()))})
128
129 strFormula = "adCur ~ Covariate3"
130 strRandomFormula = NULL
131 lsSig = list()
132 lsSig[[1]] = list()
133 lsSig[[1]]$name = "Covariate3"
134 lsSig[[1]]$orig = "Covariate32"
135 lsSig[[1]]$taxon = "adCur"
136 lsSig[[1]]$data = covY
137 lsSig[[1]]$factors = "Covariate3"
138 lsSig[[1]]$metadata = covX3 #update
139 vdCoef = c(Covariate32=NA)
140 lsSig[[1]]$value = vdCoef
141 lsSig[[1]]$std = sd(covX3) #update
142 lsSig[[1]]$allCoefs = vdCoef
143 lsSig[[2]] = list()
144 lsSig[[2]]$name = "Covariate3"
145 lsSig[[2]]$orig = "Covariate33"
146 lsSig[[2]]$taxon = "adCur"
147 lsSig[[2]]$data = covY
148 lsSig[[2]]$factors = "Covariate3"
149 lsSig[[2]]$metadata = covX3 #update
150 vdCoef = c(Covariate33=NA)
151 lsSig[[2]]$value = vdCoef
152 lsSig[[2]]$std = sd(covX3) #update
153 lsSig[[2]]$allCoefs = vdCoef
154 ret1 = funcMakeContrasts(strFormula=strFormula, strRandomFormula=strRandomFormula, frmeTmp=frmeTmp, iTaxon=iTaxon,
155 functionContrast=function(x,adCur,dfData)
156 {
157 retList = list()
158 lmodKW = kruskal(adCur,dfData[[x]],group=FALSE,p.adj="holm")
159 asLevels = levels(dfData[[x]])
160 # The names of the generated comparisons, sometimes the control is first sometimes it is not so
161 # We will just check which is in the names and use that
162 asComparisons = row.names(lmodKW$comparisons)
163 #Get the comparison with the control
164 for(sLevel in asLevels[2:length(asLevels)])
165 {
166 sComparison = intersect(c(paste(asLevels[1],sLevel,sep=" - "),paste(sLevel,asLevels[1],sep=" - ")),asComparisons)
167 #Returning NA for the coef in a named vector
168 vdCoef = c()
169 vdCoef[[paste(x,sLevel,sep="")]]=NA
170 retList[[length(retList)+1]]=list(p.value=lmodKW$comparisons[sComparison,"p.value"],SD=NA,name=paste(x,sLevel,sep=""),coef=vdCoef)
171 }
172 return(retList)
173 }, lsQCCounts=list())
174 ret1$adP = round(ret1$adP,5)
175 test_that("Test that the funcMakeContrasts works on 1 factor covariate with 3 levels.",{
176 expect_equal(ret1,list(adP=c(1.0,1.0),lsSig=lsSig,lsQCCounts=list()))})
177
178 strFormula = "adCur ~ Covariate4 + Covariate5"
179 strRandomFormula = NULL
180 lsSig = list()
181 lsSig[[1]] = list()
182 lsSig[[1]]$name = "Covariate4"
183 lsSig[[1]]$orig = "Covariate42"
184 lsSig[[1]]$taxon = "adCur"
185 lsSig[[1]]$data = covY
186 lsSig[[1]]$factors = "Covariate4"
187 lsSig[[1]]$metadata = covX4 #update
188 vdCoef = c(Covariate42=NA)
189 lsSig[[1]]$value = vdCoef
190 lsSig[[1]]$std = sd(covX4) #update
191 lsSig[[1]]$allCoefs = vdCoef
192 lsSig[[2]] = list()
193 lsSig[[2]]$name = "Covariate5"
194 lsSig[[2]]$orig = "Covariate52"
195 lsSig[[2]]$taxon = "adCur"
196 lsSig[[2]]$data = covY
197 lsSig[[2]]$factors = "Covariate5"
198 lsSig[[2]]$metadata = covX5 #update
199 vdCoef = c(Covariate52=NA)
200 lsSig[[2]]$value = vdCoef
201 lsSig[[2]]$std = sd(covX5) #update
202 lsSig[[2]]$allCoefs = vdCoef
203 ret1 = funcMakeContrasts(strFormula=strFormula, strRandomFormula=strRandomFormula, frmeTmp=frmeTmp, iTaxon=iTaxon,
204 functionContrast=function(x,adCur,dfData)
205 {
206 retList = list()
207 lmodKW = kruskal(adCur,dfData[[x]],group=FALSE,p.adj="holm")
208 asLevels = levels(dfData[[x]])
209 # The names of the generated comparisons, sometimes the control is first sometimes it is not so
210 # We will just check which is in the names and use that
211 asComparisons = row.names(lmodKW$comparisons)
212 #Get the comparison with the control
213 for(sLevel in asLevels[2:length(asLevels)])
214 {
215 sComparison = intersect(c(paste(asLevels[1],sLevel,sep=" - "),paste(sLevel,asLevels[1],sep=" - ")),asComparisons)
216 #Returning NA for the coef in a named vector
217 vdCoef = c()
218 vdCoef[[paste(x,sLevel,sep="")]]=NA
219 retList[[length(retList)+1]]=list(p.value=lmodKW$comparisons[sComparison,"p.value"],SD=NA,name=paste(x,sLevel,sep=""),coef=vdCoef)
220 }
221 return(retList)
222 }, lsQCCounts=list())
223 ret1$adP = round(ret1$adP,5)
224 test_that("1. Test that the funcMakeContrasts works on 2 factor covariate with 2 levels.",{
225 expect_equal(ret1,list(adP=round(c(0.24434,0.655852),5),lsSig=lsSig,lsQCCounts=list()))})
226
227
228 #Test Model selection
229
230
231 context("Test funcBoostModel")
232 context("Test funcForwardModel")
233 context("Test funcBackwardsModel")
234
235
236 #Test Univariates
237 context("Test funcSpearman")
238 strFormula = "adCur ~ Covariate1"
239 adCur = c(.26, .31, .25, .50, .36, .40, .52, .28, .38)
240 x = c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
241 frmeTmp = data.frame(Covariate1=x, adCur=adCur)
242 iTaxon = 2
243 lsQCCounts = list()
244 lsSig = list()
245 lsSig[[1]] = list()
246 lsSig[[1]]$name = "Covariate1"
247 lsSig[[1]]$orig = "Covariate1"
248 lsSig[[1]]$taxon = "adCur"
249 lsSig[[1]]$data = adCur
250 lsSig[[1]]$factors = "Covariate1"
251 lsSig[[1]]$metadata = x
252 vdCoef = c(Covariate1=0.6)
253 lsSig[[1]]$value = vdCoef
254 lsSig[[1]]$std = sd(x)
255 lsSig[[1]]$allCoefs = vdCoef
256 ret1 = funcSpearman(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsQCCounts=lsQCCounts,strRandomFormula=NULL)
257 ret1$adP = round(ret1$adP,5)
258 test_that("Test that the spearman test has the correct results for 1 covariate.",{
259 expect_equal(ret1,list(adP=round(c(0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
260 })
261
262 strFormula = "adCur ~ Covariate1 + Covariate2"
263 frmeTmp = data.frame(Covariate1=x, Covariate2=x, adCur=adCur)
264 iTaxon = 3
265 lsSig = list()
266 lsSig[[1]] = list()
267 lsSig[[1]]$name = "Covariate1"
268 lsSig[[1]]$orig = "Covariate1"
269 lsSig[[1]]$taxon = "adCur"
270 lsSig[[1]]$data = adCur
271 lsSig[[1]]$factors = "Covariate1"
272 lsSig[[1]]$metadata = x
273 vdCoef = c(Covariate1=0.6)
274 lsSig[[1]]$value = vdCoef
275 lsSig[[1]]$std = sd(x)
276 lsSig[[1]]$allCoefs = vdCoef
277 lsSig[[2]] = list()
278 lsSig[[2]]$name = "Covariate2"
279 lsSig[[2]]$orig = "Covariate2"
280 lsSig[[2]]$taxon = "adCur"
281 lsSig[[2]]$data = adCur
282 lsSig[[2]]$factors = "Covariate2"
283 lsSig[[2]]$metadata = x
284 vdCoef = c(Covariate2=0.6)
285 lsSig[[2]]$value = vdCoef
286 lsSig[[2]]$std = sd(x)
287 lsSig[[2]]$allCoefs = vdCoef
288 lsQCCounts = list()
289 ret1 = funcSpearman(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsQCCounts=lsQCCounts,strRandomFormula=NULL)
290 ret1$adP = round(ret1$adP,5)
291 test_that("Test that the spearman test has the correct results for 2 covariates.",{
292 expect_equal(ret1,list(adP=round(c(0.09679784,0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
293 })
294
295
296 context("Test funcWilcoxon")
297 strFormula = "adCur ~ Covariate1"
298 x = c(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE)
299 frmeTmp = data.frame(Covariate1=x, adCur=adCur)
300 iTaxon = 2
301 lsSig = list()
302 lsSig[[1]] = list()
303 lsSig[[1]]$name = "Covariate1"
304 lsSig[[1]]$orig = "Covariate1"
305 lsSig[[1]]$taxon = "adCur"
306 lsSig[[1]]$data = adCur
307 lsSig[[1]]$factors = "Covariate1"
308 lsSig[[1]]$metadata = x
309 vdCoef = c(Covariate1=13)
310 lsSig[[1]]$value = vdCoef
311 lsSig[[1]]$std = sd(x)
312 lsSig[[1]]$allCoefs = vdCoef
313 lsQCCounts = list()
314 ret1 = funcWilcoxon(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsQCCounts=lsQCCounts,strRandomFormula=NULL)
315 ret1$adP = round(ret1$adP,5)
316 test_that("Test that the wilcoxon test has the correct results for 1 covariate.",{
317 expect_equal(ret1,list(adP=round(c(0.55555556),5),lsSig=lsSig,lsQCCounts=list()))
318 })
319
320
321 context("Test funcKruskalWallis")
322 strFormula = "adCur ~ Covariate1"
323 x = as.factor(c("one","two","three","one","one","three","two","three","two"))
324 frmeTmp = data.frame(Covariate1=x, adCur=adCur)
325 iTaxon = 2
326 lsSig = list()
327 lsSig[[1]] = list()
328 lsSig[[1]]$name = "Covariate1"
329 lsSig[[1]]$orig = "Covariate1three"
330 lsSig[[1]]$taxon = "adCur"
331 lsSig[[1]]$data = adCur
332 lsSig[[1]]$factors = "Covariate1"
333 lsSig[[1]]$metadata = x
334 vdCoef = c(Covariate1three=NA)
335 lsSig[[1]]$value = vdCoef
336 lsSig[[1]]$std = sd(x)
337 lsSig[[1]]$allCoefs = vdCoef
338 lsSig[[2]] = list()
339 lsSig[[2]]$name = "Covariate1"
340 lsSig[[2]]$orig = "Covariate1two"
341 lsSig[[2]]$taxon = "adCur"
342 lsSig[[2]]$data = adCur
343 lsSig[[2]]$factors = "Covariate1"
344 lsSig[[2]]$metadata = x
345 vdCoef = c(Covariate1two=NA)
346 lsSig[[2]]$value = vdCoef
347 lsSig[[2]]$std = sd(x)
348 lsSig[[2]]$allCoefs = vdCoef
349 lsQCCounts = list()
350 ret1 = funcKruskalWallis(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsQCCounts=lsQCCounts,strRandomFormula=NULL)
351 ret1$adP = round(ret1$adP,5)
352 test_that("Test that the Kruskal Wallis (Nonparameteric anova) has the correct results for 1 covariate.",{
353 expect_equal(ret1,list(adP=c(1.0,1.0),lsSig=lsSig,lsQCCounts=list()))
354 })
355
356
357 context("test funcDoUnivariate")
358 covX1 = c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
359 covX2 = c(144.4, 245.9, 141.9, 253.3, 144.7, 244.1, 150.7, 245.2, 160.1)
360 covX3 = as.factor(c(1,2,3,1,2,3,1,2,3))
361 covX4 = as.factor(c(1,1,1,1,2,2,2,2,2))
362 covX5 = as.factor(c(1,2,1,2,1,2,1,2,1))
363 covX6 = as.factor(c("one","two","three","one","one","three","two","three","two"))
364 covY = c(.26, .31, .25, .50, .36, .40, .52, .28, .38)
365 frmeTmp = data.frame(Covariate1=covX1, Covariate2=covX2, Covariate3=covX3, Covariate4=covX4, Covariate5=covX5, Covariate6=covX6, adCur= covY)
366 iTaxon = 7
367 # 1 cont answer
368 lsSig = list()
369 lsSig[[1]] = list()
370 lsSig[[1]]$name = "Covariate1"
371 lsSig[[1]]$orig = "Covariate1"
372 lsSig[[1]]$taxon = "adCur"
373 lsSig[[1]]$data = adCur
374 lsSig[[1]]$factors = "Covariate1"
375 lsSig[[1]]$metadata = frmeTmp[["Covariate1"]]
376 vdCoef = c(Covariate1=0.6)
377 lsSig[[1]]$value = vdCoef
378 lsSig[[1]]$std = sd(frmeTmp[["Covariate1"]])
379 lsSig[[1]]$allCoefs = vdCoef
380 lsHistory = list(adP=c(), lsSig=c(),lsQCCounts=list())
381 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate1",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula=NULL)
382 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate1")
383 ret1$adP = round(ret1$adP,5)
384 ret2$adP = round(ret2$adP,5)
385 print("ret1")
386 print(ret1)
387 print("list(adP=round(c(0.09679784),5),lsSig=lsSig,lsQCCounts=list())")
388 print(list(adP=round(c(0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
389 test_that("2. Test that the funcMakeContrasts works on a continuous variable.",{
390 expect_equal(ret1,list(adP=round(c(0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
391 expect_equal(ret2,list(adP=round(c(0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
392 })
393 lsSig[[2]] = list()
394 lsSig[[2]]$name = "Covariate2"
395 lsSig[[2]]$orig = "Covariate2"
396 lsSig[[2]]$taxon = "adCur"
397 lsSig[[2]]$data = adCur
398 lsSig[[2]]$factors = "Covariate2"
399 lsSig[[2]]$metadata = frmeTmp[["Covariate2"]]
400 vdCoef = c(Covariate2=0.46666667)
401 lsSig[[2]]$value = vdCoef
402 lsSig[[2]]$std = sd(frmeTmp[["Covariate2"]])
403 lsSig[[2]]$allCoefs = vdCoef
404 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate1 + Covariate2",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory,strRandomFormula=NULL)
405 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate1 + 1|Covariate2")
406 ret1$adP = round(ret1$adP,5)
407 ret2$adP = round(ret2$adP,5)
408 test_that("Test that the funcMakeContrasts works on 2 continuous variables.",{
409 expect_equal(ret1,list(adP=round(c(0.09679784,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
410 expect_equal(ret2,list(adP=round(c(0.09679784,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
411 })
412 lsSig = list()
413 lsSig[[1]] = list()
414 lsSig[[1]]$name = "Covariate4"
415 lsSig[[1]]$orig = "Covariate4"
416 lsSig[[1]]$taxon = "adCur"
417 lsSig[[1]]$data = adCur
418 lsSig[[1]]$factors = "Covariate4"
419 lsSig[[1]]$metadata = frmeTmp[["Covariate4"]]
420 vdCoef = c(Covariate4=5)
421 lsSig[[1]]$value = vdCoef
422 lsSig[[1]]$std = sd(frmeTmp[["Covariate4"]])
423 lsSig[[1]]$allCoefs = vdCoef
424 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate4",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory,strRandomFormula=NULL)
425 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate4")
426 ret1$adP = round(ret1$adP,5)
427 ret2$adP = round(ret2$adP,5)
428 test_that("Test that the funcMakeContrasts works on 1 factor covariate with 2 levels.",{
429 expect_equal(ret1,list(adP=round(c(0.2857143),5),lsSig=lsSig,lsQCCounts=list()))
430 expect_equal(ret2,list(adP=round(c(0.2857143),5),lsSig=lsSig,lsQCCounts=list()))
431 })
432 lsSig[[2]] = list()
433 lsSig[[2]]$name = "Covariate5"
434 lsSig[[2]]$orig = "Covariate5"
435 lsSig[[2]]$taxon = "adCur"
436 lsSig[[2]]$data = adCur
437 lsSig[[2]]$factors = "Covariate5"
438 lsSig[[2]]$metadata = frmeTmp[["Covariate5"]]
439 vdCoef = c(Covariate5=8)
440 lsSig[[2]]$value = vdCoef
441 lsSig[[2]]$std = sd(frmeTmp[["Covariate5"]])
442 lsSig[[2]]$allCoefs = vdCoef
443 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate4 + Covariate5",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula=NULL)
444 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate4 + 1|Covariate5")
445 ret3 = funcDoUnivariate(strFormula="adCur ~ Covariate4",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate5")
446 ret1$adP = round(ret1$adP,5)
447 ret2$adP = round(ret2$adP,5)
448 ret3$adP = round(ret3$adP,5)
449 test_that("2. Test that the funcMakeContrasts works on 2 factor covariate with 2 levels.",{
450 expect_equal(ret1,list(adP=round(c(0.2857143,0.73016),5),lsSig=lsSig,lsQCCounts=list()))
451 expect_equal(ret2,list(adP=round(c(0.2857143,0.73016),5),lsSig=lsSig,lsQCCounts=list()))
452 expect_equal(ret3,list(adP=round(c(0.2857143,0.73016),5),lsSig=lsSig,lsQCCounts=list()))
453 })
454 lsSig = list()
455 lsSig[[1]] = list()
456 lsSig[[1]]$name = "Covariate4"
457 lsSig[[1]]$orig = "Covariate4"
458 lsSig[[1]]$taxon = "adCur"
459 lsSig[[1]]$data = adCur
460 lsSig[[1]]$factors = "Covariate4"
461 lsSig[[1]]$metadata = frmeTmp[["Covariate4"]]
462 vdCoef = c(Covariate4=5)
463 lsSig[[1]]$value = vdCoef
464 lsSig[[1]]$std = sd(frmeTmp[["Covariate4"]])
465 lsSig[[1]]$allCoefs = vdCoef
466 lsSig[[2]] = list()
467 lsSig[[2]]$name = "Covariate1"
468 lsSig[[2]]$orig = "Covariate1"
469 lsSig[[2]]$taxon = "adCur"
470 lsSig[[2]]$data = adCur
471 lsSig[[2]]$factors = "Covariate1"
472 lsSig[[2]]$metadata = frmeTmp[["Covariate1"]]
473 vdCoef = c(Covariate1=0.6)
474 lsSig[[2]]$value = vdCoef
475 lsSig[[2]]$std = sd(frmeTmp[["Covariate1"]])
476 lsSig[[2]]$allCoefs = vdCoef
477 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate4 + Covariate1",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula=NULL)
478 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate4 + 1|Covariate1")
479 ret3 = funcDoUnivariate(strFormula="adCur ~ Covariate4",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate1")
480 ret1$adP = round(ret1$adP,5)
481 ret2$adP = round(ret2$adP,5)
482 ret3$adP = round(ret3$adP,5)
483 test_that("Test that the funcMakeContrasts works on 1 factor covariate with 2 levels and a continuous variable.",{
484 expect_equal(ret1,list(adP=round(c(0.2857143,0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
485 expect_equal(ret2,list(adP=round(c(0.2857143,0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
486 expect_equal(ret3,list(adP=round(c(0.2857143,0.09679784),5),lsSig=lsSig,lsQCCounts=list()))
487 })
488 lsSig = list()
489 lsSig[[1]] = list()
490 lsSig[[1]]$name = "Covariate3"
491 lsSig[[1]]$orig = "Covariate32"
492 lsSig[[1]]$taxon = "adCur"
493 lsSig[[1]]$data = adCur
494 lsSig[[1]]$factors = "Covariate3"
495 lsSig[[1]]$metadata = frmeTmp[["Covariate3"]]
496 vdCoef = c(Covariate32=NA)
497 lsSig[[1]]$value = vdCoef
498 lsSig[[1]]$std = sd(frmeTmp[["Covariate3"]])
499 lsSig[[1]]$allCoefs = vdCoef
500 lsSig[[2]] = list()
501 lsSig[[2]]$name = "Covariate3"
502 lsSig[[2]]$orig = "Covariate33"
503 lsSig[[2]]$taxon = "adCur"
504 lsSig[[2]]$data = adCur
505 lsSig[[2]]$factors = "Covariate3"
506 lsSig[[2]]$metadata = frmeTmp[["Covariate3"]]
507 vdCoef = c(Covariate33=NA)
508 lsSig[[2]]$value = vdCoef
509 lsSig[[2]]$std = sd(frmeTmp[["Covariate3"]])
510 lsSig[[2]]$allCoefs = vdCoef
511 lsSig[[3]] = list()
512 lsSig[[3]]$name = "Covariate1"
513 lsSig[[3]]$orig = "Covariate1"
514 lsSig[[3]]$taxon = "adCur"
515 lsSig[[3]]$data = adCur
516 lsSig[[3]]$factors = "Covariate1"
517 lsSig[[3]]$metadata = frmeTmp[["Covariate1"]]
518 vdCoef = c(Covariate1=0.6)
519 lsSig[[3]]$value = vdCoef
520 lsSig[[3]]$std = sd(frmeTmp[["Covariate1"]])
521 lsSig[[3]]$allCoefs = vdCoef
522 lsSig[[4]] = list()
523 lsSig[[4]]$name = "Covariate2"
524 lsSig[[4]]$orig = "Covariate2"
525 lsSig[[4]]$taxon = "adCur"
526 lsSig[[4]]$data = adCur
527 lsSig[[4]]$factors = "Covariate2"
528 lsSig[[4]]$metadata = frmeTmp[["Covariate2"]]
529 vdCoef = c(Covariate2=0.46666667)
530 lsSig[[4]]$value = vdCoef
531 lsSig[[4]]$std = sd(frmeTmp[["Covariate2"]])
532 lsSig[[4]]$allCoefs = vdCoef
533 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate3 + Covariate1 + Covariate2",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula=NULL)
534 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate3 + 1|Covariate1 + 1|Covariate2")
535 ret3 = funcDoUnivariate(strFormula="adCur ~ Covariate3 + Covariate1",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate2")
536 ret1$adP = round(ret1$adP,5)
537 ret2$adP = round(ret2$adP,5)
538 ret3$adP = round(ret3$adP,5)
539 test_that("Test that the funcMakeContrasts works on 1 factor covariate with 3 levels and 2 continuous variables.",{
540 expect_equal(ret1,list(adP=round(c(1.0,1.0,0.09679784,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
541 expect_equal(ret2,list(adP=round(c(1.0,1.0,0.09679784,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
542 expect_equal(ret3,list(adP=round(c(1.0,1.0,0.09679784,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
543 })
544 lsSig = list()
545 lsSig[[1]] = list()
546 lsSig[[1]]$name = "Covariate4"
547 lsSig[[1]]$orig = "Covariate4"
548 lsSig[[1]]$taxon = "adCur"
549 lsSig[[1]]$data = adCur
550 lsSig[[1]]$factors = "Covariate4"
551 lsSig[[1]]$metadata = frmeTmp[["Covariate4"]]
552 vdCoef = c(Covariate4=5)
553 lsSig[[1]]$value = vdCoef
554 lsSig[[1]]$std = sd(frmeTmp[["Covariate4"]])
555 lsSig[[1]]$allCoefs = vdCoef
556 lsSig[[2]] = list()
557 lsSig[[2]]$name = "Covariate2"
558 lsSig[[2]]$orig = "Covariate2"
559 lsSig[[2]]$taxon = "adCur"
560 lsSig[[2]]$data = adCur
561 lsSig[[2]]$factors = "Covariate2"
562 lsSig[[2]]$metadata = frmeTmp[["Covariate2"]]
563 vdCoef = c(Covariate2=0.46666667)
564 lsSig[[2]]$value = vdCoef
565 lsSig[[2]]$std = sd(frmeTmp[["Covariate2"]])
566 lsSig[[2]]$allCoefs = vdCoef
567 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate4 + Covariate2",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula=NULL)
568 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate4 + 1|Covariate2")
569 ret3 = funcDoUnivariate(strFormula= "adCur ~ Covariate4",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate2")
570 ret1$adP = round(ret1$adP,5)
571 ret2$adP = round(ret2$adP,5)
572 ret3$adP = round(ret3$adP,5)
573 test_that("3. Test that the funcMakeContrasts works on 2 factor covariate with 2 levels and a continuous variable.",{
574 expect_equal(ret1,list(adP=round(c(0.2857143,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
575 expect_equal(ret2,list(adP=round(c(0.2857143,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
576 expect_equal(ret3,list(adP=round(c(0.2857143,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
577 })
578 lsSig = list()
579 lsSig[[1]] = list()
580 lsSig[[1]]$name = "Covariate4"
581 lsSig[[1]]$orig = "Covariate4"
582 lsSig[[1]]$taxon = "adCur"
583 lsSig[[1]]$data = adCur
584 lsSig[[1]]$factors = "Covariate4"
585 lsSig[[1]]$metadata = frmeTmp[["Covariate4"]]
586 vdCoef = c(Covariate4=5)
587 lsSig[[1]]$value = vdCoef
588 lsSig[[1]]$std = sd(frmeTmp[["Covariate4"]])
589 lsSig[[1]]$allCoefs = vdCoef
590 lsSig[[2]] = list()
591 lsSig[[2]]$name = "Covariate3"
592 lsSig[[2]]$orig = "Covariate32"
593 lsSig[[2]]$taxon = "adCur"
594 lsSig[[2]]$data = adCur
595 lsSig[[2]]$factors = "Covariate3"
596 lsSig[[2]]$metadata = frmeTmp[["Covariate3"]]
597 vdCoef = c(Covariate32=NA)
598 lsSig[[2]]$value = vdCoef
599 lsSig[[2]]$std = sd(frmeTmp[["Covariate3"]])
600 lsSig[[2]]$allCoefs = vdCoef
601 lsSig[[3]] = list()
602 lsSig[[3]]$name = "Covariate3"
603 lsSig[[3]]$orig = "Covariate33"
604 lsSig[[3]]$taxon = "adCur"
605 lsSig[[3]]$data = adCur
606 lsSig[[3]]$factors = "Covariate3"
607 lsSig[[3]]$metadata = frmeTmp[["Covariate3"]]
608 vdCoef = c(Covariate33=NA)
609 lsSig[[3]]$value = vdCoef
610 lsSig[[3]]$std = sd(frmeTmp[["Covariate3"]])
611 lsSig[[3]]$allCoefs = vdCoef
612 lsSig[[4]] = list()
613 lsSig[[4]]$name = "Covariate2"
614 lsSig[[4]]$orig = "Covariate2"
615 lsSig[[4]]$taxon = "adCur"
616 lsSig[[4]]$data = adCur
617 lsSig[[4]]$factors = "Covariate2"
618 lsSig[[4]]$metadata = frmeTmp[["Covariate2"]]
619 vdCoef = c(Covariate2=0.46666667)
620 lsSig[[4]]$value = vdCoef
621 lsSig[[4]]$std = sd(frmeTmp[["Covariate2"]])
622 lsSig[[4]]$allCoefs = vdCoef
623 ret1 = funcDoUnivariate(strFormula="adCur ~ Covariate4 + Covariate3 + Covariate2",frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula=NULL)
624 ret2 = funcDoUnivariate(strFormula=NULL,frmeTmp=frmeTmp,iTaxon=iTaxon, lsHistory=lsHistory, strRandomFormula="adCur ~ 1|Covariate4 +1|Covariate3 + 1|Covariate2")
625 ret1$adP = round(ret1$adP,5)
626 ret2$adP = round(ret2$adP,5)
627 test_that("Test that the funcMakeContrasts works on 1 factor covariate with 2 levels , 1 factor with 3 levels, and a continuous variable.",{
628 expect_equal(ret1,list(adP=round(c(0.2857143,1.0,1.0,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
629 expect_equal(ret2,list(adP=round(c(0.2857143,1.0,1.0,0.21252205),5),lsSig=lsSig,lsQCCounts=list()))
630 })
631
632 #Test multivariates
633 context("Test funcLasso")
634
635
636 context("Test funcLM")
637 #This test just makes sure the statistical method is being called correctly for one covariate with the correct return
638 strFormula = "adCur ~ Covariate1"
639 strRandomFormula = NULL
640 x = c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
641 x2 = c(34.2, 32.5, 22.4, 43, 3.25, 6.4, 7, 87, 9)
642 xf1 = c(1,1,2,2,1,2,1,1,2)
643 xf2 = c(1,1,1,1,2,2,2,2,2)
644 frmeTmp = data.frame(Covariate1=x, Covariate2=x2, FCovariate3=xf1, FCovariate4=xf2, adCur=adCur)
645 iTaxon = 5
646 lmRet = lm(as.formula(strFormula), data=frmeTmp, na.action = c_strNA_Action)
647 test_that("Test that the lm has the correct results for 1 covariate.",{
648 expect_equal(funcLM(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
649 })
650 #Test for correct call for 2 covariates
651 strFormula = "adCur ~ Covariate1 + Covariate2"
652 lmRet = lm(as.formula(strFormula), data=frmeTmp, na.action = c_strNA_Action)
653 test_that("Test that the lm has the correct results for 2 covariates.",{
654 expect_equal(funcLM(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
655 })
656 ##Test for correct call with 1 random and one fixed covariate
657 #strFormula = "adCur ~ Covariate1"
658 #strRandomFormula = "~1|FCovariate3"
659 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=gaussian(link="identity"), data=frmeTmp)
660 #test_that("Test that the lm has the correct results for 1 random and one fixed covariate.",{
661 # expect_equal(funcLM(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
662 #})
663 ##Test for correct call with 1 random and 2 fixed covariates
664 #strFormula = "adCur ~ Covariate1 + Covariate2"
665 #strRandomFormula = "~1|FCovariate3"
666 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=gaussian(link="identity"), data=frmeTmp)
667 #test_that("Test that the lm has the correct results for 1 random and 2 fixed covariates.",{
668 # expect_equal(funcLM(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
669 #})
670 ##Test for correct call with 2 random and 1 fixed covariates
671 #strFormula = "adCur ~ Covariate1"
672 #strRandomFormula = "~1|FCovariate4+1|FCovariate3"
673 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=gaussian(link="identity"), data=frmeTmp)
674 #test_that("Test that the lm has the correct results for 2 random and 1 fixed covariates.",{
675 # expect_equal(funcLM(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
676 #})
677
678
679 context("Test funcBinomialMult")
680 strFormula = "adCur ~ Covariate1"
681 strRandomFormula = NULL
682 x = c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
683 x2 = c(34.2, 32.5, 22.4, 43, 3.25, 6.4, 7, 87, 9)
684 xf1 = c(1,1,2,2,1,2,1,1,2)
685 xf2 = c(1,1,1,1,2,2,2,2,2)
686 frmeTmp = data.frame(Covariate1=x, Covariate2=x2, FCovariate3=xf1, FCovariate4=xf2, adCur=adCur)
687 iTaxon = 5
688 lmRet = glm(as.formula(strFormula), family=binomial(link=logit), data=frmeTmp, na.action=c_strNA_Action)
689 test_that("Test that the neg binomial regression has the correct results for 1 covariate.",{
690 expect_equal(funcBinomialMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
691 })
692 #Test for correct call for 2 covariates
693 strFormula = "adCur ~ Covariate1 + Covariate2"
694 iTaxon = 5
695 lmRet = glm(as.formula(strFormula), family=binomial(link=logit), data=frmeTmp, na.action=c_strNA_Action)
696 test_that("Test that the neg binomial regression has the correct results for 2 covariates.",{
697 expect_equal(funcBinomialMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
698 })
699 ##Test for correct call with 1 random and one fixed covariate
700 #strFormula = "adCur ~ Covariate1"
701 #strRandomFormula = "~1|FCovariate3"
702 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=binomial(link=logit), data=frmeTmp)
703 #test_that("Test that the lm has the correct results for 1 random and one fixed covariate.",{
704 # expect_equal(funcBinomialMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
705 #})
706 ##Test for correct call with 1 random and 2 fixed covariates
707 #strFormula = "adCur ~ Covariate1 + Covariate2"
708 #strRandomFormula = "~1|FCovariate3"
709 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=binomial(link=logit), data=frmeTmp)
710 #test_that("Test that the lm has the correct results for 1 random and 2 fixed covariates.",{
711 # expect_equal(funcBinomialMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
712 #})
713 ##Test for correct call with 2 random and 1 fixed covariates
714 #strFormula = "adCur ~ Covariate1"
715 #strRandomFormula = "~1|FCovariate4+1|FCovariate3"
716 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=binomial(link=logit), data=frmeTmp)
717 #test_that("Test that the lm has the correct results for 2 random and 1 fixed covariates.",{
718 # expect_equal(funcBinomialMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
719 #})
720
721
722 context("Test funcQuasiMult")
723 strFormula = "adCur ~ Covariate1"
724 strRandomFormula = NULL
725 x = c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1,44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
726 x2 = c(34.2, 32.5, 22.4, 43, 3.25, 6.4, 7, 87, 9,34.2, 32.5, 22.4, 43, 3.25, 6.4, 7, 87, 9)
727 xf1 = c(1,1,2,2,1,1,2,2,2,1,1,2,2,1,1,2,2,2)
728 xf2 = c(1,1,1,1,2,2,2,2,2,1,1,1,1,2,2,2,2,2)
729 frmeTmp = data.frame(Covariate1=x, Covariate2=x2, FCovariate3=xf1, FCovariate4=xf2, adCur=adCur)
730 iTaxon = 5
731 lmRet = glm(as.formula(strFormula), family=quasipoisson, data=frmeTmp, na.action=c_strNA_Action)
732 test_that("Test that the quasi poisson has the correct results for 1 covariate.",{
733 expect_equal(funcQuasiMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
734 })
735 #Test for correct call for 2 covariates
736 strFormula = "adCur ~ Covariate1 + Covariate2"
737 iTaxon = 5
738 lmRet = glm(as.formula(strFormula), family=quasipoisson, data=frmeTmp, na.action=c_strNA_Action)
739 test_that("Test that the quasi poisson has the correct results for 2 covariates.",{
740 expect_equal(funcQuasiMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
741 })
742 ##Test for correct call with 1 random and one fixed covariate
743 #strFormula = "adCur ~ Covariate1"
744 #strRandomFormula = "~1|FCovariate3"
745 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=quasipoisson, data=frmeTmp)
746 #test_that("Test that the lm has the correct results for 1 random and one fixed covariate.",{
747 # expect_equal(funcQuasiMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
748 #})
749 ##Test for correct call with 1 random and 2 fixed covariates
750 #strFormula = "adCur ~ Covariate1 + Covariate2"
751 #strRandomFormula = "~1|FCovariate3"
752 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=quasipoisson, data=frmeTmp)
753 #test_that("Test that the lm has the correct results for 1 random and 2 fixed covariates.",{
754 # expect_equal(funcQuasiMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
755 #})
756 ##Test for correct call with 2 random and 1 fixed covariates
757 #strFormula = "adCur ~ Covariate1"
758 #strRandomFormula = "~1|FCovariate4+1|FCovariate3"
759 #lmRet = glmmPQL(fixed=as.formula(strFormula), random=as.formula(strRandomFormula), family=quasipoisson, data=frmeTmp)
760 #test_that("Test that the lm has the correct results for 2 random and 1 fixed covariates.",{
761 # expect_equal(funcQuasiMult(strFormula=strFormula,frmeTmp=frmeTmp,iTaxon=iTaxon,lsHistory=lsHistory,strRandomFormula=strRandomFormula),lmRet)
762 #})
763
764
765 #Test transforms
766 context("Test funcNoTransform")
767 aTest1 = c(NA)
768 aTest2 = c(NULL)
769 aTest3 = c(0.5,1.4,2.4,3332.4,0.0,0.0000003)
770 aTest4 = c(0.1)
771 test_that("Test that no transform does not change the data.",{
772 expect_equal(funcNoTransform(aTest1), aTest1)
773 expect_equal(funcNoTransform(aTest2), aTest2)
774 expect_equal(funcNoTransform(aTest3), aTest3)
775 expect_equal(funcNoTransform(aTest4), aTest4)
776 })
777
778
779 context("Test funcArcsinSqrt")
780 aTest1 = c(NA)
781 aTest2 = c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0)
782 aTest3 = c(0.000001)
783 test_that("Test that funcArcsinSqrt performs the transform correctly.",{
784 expect_equal(funcArcsinSqrt(NA), as.numeric(NA))
785 expect_equal(funcArcsinSqrt(aTest1), asin(sqrt(aTest1)))
786 expect_equal(funcArcsinSqrt(aTest2), asin(sqrt(aTest2)))
787 expect_equal(funcArcsinSqrt(aTest3), asin(sqrt(aTest3)))
788 })