analyse.R 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. #!/usr/bin/Rscript
  2. args <- commandArgs(TRUE)
  3. dist <- read.table(args[1])
  4. taille = args[2]
  5. taille = as.integer(taille)
  6. tailleTotale = length(dist$V1)
  7. #cat("taille demandée = ",taille,"\n");
  8. #cat("taille totale = ",tailleTotale,"\n");
  9. if (taille>tailleTotale){
  10. taille = tailleTotale;
  11. }
  12. png("fig.png", width = 400, height = 300)
  13. #pdf("fig.pdf")
  14. #x11()
  15. #options(devices="X11")
  16. #vdist = dist$V1[1:100]
  17. vdist = dist$V1[1:taille]
  18. #vdist = dist$V1
  19. #v = ks.test(vdist,pnorm,mean(vdist),sd(vdist))
  20. n = length(vdist)
  21. #skew = mean((vdist-mean(vdist))^3)/sd.pop(vdist)^3
  22. m3 <- sum((vdist - mean(vdist))^3)/length(vdist)
  23. s3 <- sqrt(var(vdist))^3
  24. skew = m3/s3
  25. cat("taille de l'échantillon = ",n,"\n\n")
  26. cat("moyenne = ",mean(vdist)," ")
  27. cat("mediane = ",median(vdist),"\n\n")
  28. cat("min = ",min(vdist)," ")
  29. cat("max = ",max(vdist),"\n\n")
  30. cv = 100*sd(vdist)/mean(vdist)
  31. if (mean(vdist) == 0) cv=0
  32. cat("écart-type",sd(vdist),"\n")
  33. cat("coef. de variation = ",cv)
  34. if ( cv < 5 ) {
  35. cat (" pas de bruit\n\n")
  36. } else if (cv<33) cat (" bruit faible\n\n") else cat (" bruit important\n\n")
  37. quant <- quantile(vdist)
  38. cat("quartiles ",quant,"\n");
  39. cat("écart semi-interquartiles ",(quant[4]-quant[2])/2,"\n");
  40. #skew = mean((vdist-mean(vdist))^3)/sd.pop(vdist)^3
  41. m3 <- sum((vdist - mean(vdist))^3)/length(vdist)
  42. s3 <- sqrt(var(vdist))^3
  43. skew = m3/s3
  44. cat("skewness = ",skew,"\n");
  45. hist(vdist,col = "blue",breaks = 50,freq = FALSE)
  46. den <- density(vdist)
  47. lines(den, col = "red")
  48. dev.off()