Bonjour,
Je fais un test de Student pour mes données, qui sont organisées comme suite :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Indice	Intensite_A	Intensite_B
0	0.5	0.366
0	0.0256	0.3698
0	0.489	0.598
1	0.597	0
1	NA	NA
1	0	NA
2	0.0055	0.005
2	0.0569	0.0025
2	0	0
3	0.598	0.215
3	0.1458	0.0154
3	0.587	5971
Voila le programme que j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
data<-read.table("fic_pr_R", sep="\t", header=TRUE)
for (i in unique(data$Indice)) {
pval <- t.test(data$Intensite_A[which(data$Indice == i)], data$Intensite_B[which(data$Indice == i)])$p.value
moyen <- t.test(data$Intensite_A[which(data$Indice == i)], data$Intensite_B[which(data$Indice == i)])$estimate
cat(i,pval,moyen, "\n")
}

Mon problème est que le programme s’arrête des qu'il passe a l'indice = 1 , car je n'ai pas assez de formations pour faire le test. Donc voila le résultat qui me retourne : (il fait le test pour l'indice = 0) mais il s’arrête après.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
0 0.5855967 0.3382 0.4446 
Error in t.test.default(data$Intensite_A[which(data$Indice == i)], data$Intensite_B[which(data$Indice ==  : 
  not enough 'y' observations

Je fais comment pour que mon programme continue a faire le test pour le reste et dans le cas où il ne peut pas faire le test, m’écrire par exemple pval=NA ou autre chose comme quoi on ne peut pas faire le teste puisque on n'as pas assez de données.


Merci d'avance