Test T de Student par permutations pour R

Posté par Timothée le 9 May 2008 | , ,

Mes tribulations mathématiques m’ont récemment poussé dans le monde assez fabuleux des tests par permutation, et je viens de consacrer une grosse demi heure à écrire pour R le test T de Student par permutations, pour m’affranchir de l’homogénéité des variances et de la normalité des données.

Vu que c’est du code qui peut servir, je le donne ici… Et éventuellement, ça permettra aux R-Guru qui traînent (j’espère) de vérifier que je ne me sois pas planté…

TTperm <- function(sample1,sample2,fac1='a',fac2='b',nperm=999){
require(car)
stu<-t.test(sample1,sample2)
stu.p<-stu$p.value
stu.t<-stu$statistic
stu.df<-stu$parameter
count <- 1
result.stu <- matrix(rep(0,3),1)
colnames(result.stu)=c("T statistic (Df)","Parametric p-value", "Permutations p-value")
for(i in 1:nperm){
NAMES<-c(rep(fac1,length(sample1)),rep(fac2,length(sample2)))
SAMPLE<-c(sample1,sample2)
PERMNAMES<-sample(NAMES)
MATR<-c(SAMPLE,PERMNAMES)
MATR<-matrix(MATR,nrow=2,byrow=T)
RS1<-RS2<-''
rownames(MATR)<-c('Value','Sample')
for(rnk in 1:length(PERMNAMES)){
if(MATR['Sample',rnk]==fac1){
RS1<-c(RS1,as.real(MATR['Value',rnk]))
}
if(MATR['Sample',rnk]==fac2){
RS2<-c(RS2,as.real(MATR['Value',rnk]))
}
}
RS1<-RS1[2:length(RS1)]
RS2<-RS2[2:length(RS2)]
stu.perm<-t.test(as.real(RS1),as.real(RS2))
stu.perm.p<-stu.perm$p.value
stu.perm.t<-stu.perm$statistic
if(abs(stu.perm.t) >= abs(stu.t)) {count <- count+1}
}
result.stu[1,1]=paste(round(stu.t,4),'(',round(stu.df,4),')',collapse='')
result.stu[1,2]=round(stu.p,6)
result.stu[1,3]=count/(nperm+1)
return(result.stu)
}

Pas de réponse pour l'instant

Science badges!

Posté par Timothée le 5 August 2007 | ,

Comme les geeks ont leur geek-code, les scientifiques ont leurs “badges“. Le concept est simple: un badge pour une “situation” donnée. Juste pour voir, d’après une idée de Vox Hortus, je me suis lancé dans l’expérience et… Résultat ici-même.

 

Lire la suite »

4 réponses pour l'instant

Interfacing Bibdesk and Journler

Posté par Timothée le 5 August 2007 | , , , ,

I am becoming a mac-running academic, which implies that I need to find the right piece of software for each use. After my switch from Word to LyX/LaTeX, I find out Journler, a note-taking application, that I use to keep track of my thoughts on the publications I read for my lab work. Eventually, I note in it some hypothesis and paragraphs for my soon-to-be Master’s thesis, which implies the use of references.

I wrote an Applescript which allows one to send selected Bibdesk entries into the current (selected) note in Journler, in the form

\cite{key1,key2}

You can download it right here.

Just put it in the Scripts folder of your Bibdesk application support’s directory.

Une réponse pour l'instant

Lyx 1.5 : note on Bibdesk integration

Posté par Timothée le 29 July 2007 | , , , , ,

I was waiting for LyX 1.5 to be released for a long time now. After weeks of unsustainable waiting, the WYSIWYM LaTeX editor is no longer a release candidate. After a little experiments of my own with this brand new version, which is very powerfull yet intuitive, I decided to find out if BibDesk integration was still easy.

Lire la suite »

2 réponses pour l'instant

Word : Goodbye, my friend

Posté par Timothée le 18 June 2007 | , ,

Je l’ai enfin fait. Quoi? Dire au revoir à Word, et sorti mon tube d’aspirine, pour me lancer dans LaTeX. Au programme de ce billet, donc, l’histoire d’une migration (presque) sans problèmes, les outils que j’ai choisi, et comment ils s’articulent. Et croyez moi, l’effort que ca demande est largement récompensé…
Lire la suite »

3 réponses pour l'instant

Next »