fix test; EMGLLF.c != EMGLLF.R now...
[valse.git] / test / generate_test_data / generateRunSaveTest_EMGrank.R
1 source("EMGrank.R")
2 source("helper.R")
3
4 generateRunSaveTest_EMGrank = function(n=200, p=15, m=10, k=3, mini=5, maxi=10, gamma=1.0,
5 rank = c(1,2,4))
6 {
7 tau = 1e-6
8 pi = rep(1.0/k, k)
9 rho = array(dim=c(m,m,k))
10 for(i in 1:k)
11 rho[,,i] = diag(1,m)
12 require(valse)
13 xy = generateXYdefault(n, p, m, k)
14
15 testFolder = "../data/"
16 dir.create(testFolder, showWarnings=FALSE, mode="0755")
17 #save inputs
18 write.table(as.double(rho), paste(testFolder,"rho",sep=""),
19 row.names=F, col.names=F)
20 write.table(as.double(pi), paste(testFolder,"pi",sep=""),
21 row.names=F, col.names=F)
22 write.table(as.integer(mini), paste(testFolder,"mini",sep=""),
23 row.names=F, col.names=F)
24 write.table(as.integer(maxi), paste(testFolder,"maxi",sep=""),
25 row.names=F, col.names=F)
26 write.table(as.double(xy$X), paste(testFolder,"X",sep=""),
27 row.names=F, col.names=F)
28 write.table(as.double(xy$Y), paste(testFolder,"Y",sep=""),
29 row.names=F, col.names=F)
30 write.table(as.double(tau), paste(testFolder,"tau",sep=""),
31 row.names=F, col.names=F)
32 write.table(as.integer(rank), paste(testFolder,"rank",sep=""),
33 row.names=F, col.names=F)
34 write.table(as.integer(c(n,p,m,k)), paste(testFolder,"dimensions",sep=""),
35 row.names=F, col.names=F)
36
37 res = EMGrank_R(pi,rho,mini,maxi,xy$X,xy$Y,tau,rank)
38
39 #save output
40 write.table(as.double(res$phi), paste(testFolder,"phi",sep=""), row.names=F,col.names=F)
41 write.table(as.double(res$LLF), paste(testFolder,"LLF",sep=""), row.names=F,col.names=F)
42 }