Je ne comprends pas trop ce que tu cherches a faire ensuite. Qu'est-ce qui ne marche pas dans mon code ? L’imporatation des données, le mise en forme en tableau, le remplacement des valeurs manquantes par des 0 ou des NA ? Je ne sais pas quel test tu cherches a faire mais bien souvent tu t'en sors avec les NA par un paramètre du genre na.omit ou na.rm=TRUE pour qu'il ne prenne pas en compte les valeurs NA. Si c'est une condition sur les NA tout dépends de ce que tu veux faire.
Code : Tout sélectionner
ted <- matrix(rnorm(25),5,5)
ted[sample(1:25,10)] <- NA
ted <- as.data.frame(ted)
ted
V1 V2 V3 V4 V5
1 -0.7767314 0.30862569 -0.5909241 NA -1.0915417
2 NA 0.07711566 -0.4561516 NA NA
3 0.2242927 -0.09120063 NA 1.307521 -0.4842482
4 NA NA 1.1562340 NA -0.9577429
5 NA -0.49766221 1.7176863 -1.471778 NA
apply(ted,2,mean) # moyenne en colonne sans paramètre supplémentaire
V1 V2 V3 V4 V5
NA NA NA NA NA
apply(ted,2,mean,na.rm=TRUE) # en lui disant de ne pas tenir compte des NA
V1 V2 V3 V4 V5
-0.27621936 -0.05078037 0.45671115 -0.08212846 -0.84451095
# pour transformer les NA en 0 ou l'inverse
ted[is.na(ted)] <- 0
ted
V1 V2 V3 V4 V5
1 -0.7767314 0.30862569 -0.5909241 0.000000 -1.0915417
2 0.0000000 0.07711566 -0.4561516 0.000000 0.0000000
3 0.2242927 -0.09120063 0.0000000 1.307521 -0.4842482
4 0.0000000 0.00000000 1.1562340 0.000000 -0.9577429
5 0.0000000 -0.49766221 1.7176863 -1.471778 0.0000000
ted[ted==0] <- NA
ted
V1 V2 V3 V4 V5
1 -0.7767314 0.30862569 -0.5909241 NA -1.0915417
2 NA 0.07711566 -0.4561516 NA NA
3 0.2242927 -0.09120063 NA 1.307521 -0.4842482
4 NA NA 1.1562340 NA -0.9577429
5 NA -0.49766221 1.7176863 -1.471778 NA
Maxime