<jupyter_start><jupyter_text>Start  pour statisticien **Résumé** Ce tutoriel introduit le logiciel libre R, son environnement et décrit les premières commandes nécessaires au démarrage d'une utilisation de méthodes statistiques avec ce logiciel. Les notions d'estimation, de variabilité et de loi d'un estimateur sont illustrées par des simulations. Les autres tutoriels abordent des fonctionnalités plus complexes. Premières commandesEntrer les lignes ci-dessous dans la fenêtre de RStudio ou cliquer pour exécuter la cellule.<jupyter_code># Ceci est un commentaire
2+2
sqrt(2)
a = exp(2)  # création d'une variable scalaire
b = a + pi 
b           # affichage de la valeur
# liste des variables
ls()<jupyter_output><empty_output><jupyter_text>Types de variablesLa *principale difficulté* dans l'utilisation de R réside dans l'identification des types d'objets manipulés.<jupyter_code># Vecteur
x = 1:10  # définition d'une séquence
x
y = 2*x + 3
y[5] ; y[1:3] ; y[-3]  # composants d'un vecteur
# Matrice 
A = matrix(1:15,ncol=5); A
B = matrix(1:15,nc=5,byrow=TRUE) ; B
A[1,3] ; A[,2] ; A[2,] ; A[1:3,1:3] # composants
# Liste 
x=list(mat=A, texte="testliste",vec=y)
x[[2]] ; x$vec # composants
# Base de donnée ou data frame
# Tableau contenant des vecteurs de types 
# éventuellement différents
taille = c(147, 132, 156, 167, 156, 140) 
poids = c( 50, 46, 47, 62, 58, 45)
sexe = c("M","F","F","M","M","F")
H = data.frame(taille,poids,sexe)
H
summary(H)
plot(H$poids,H$taille)<jupyter_output><empty_output><jupyter_text>D'autres fonctionnalités de R sont vues dans les différents scénarios proposées sur le site [Wikistat](http://wikistat.fr/). Variables et nombres aléatoiresTout en complétant la connaissance de R, cette section propose d'illustrer, par des simulations, les propriétés des estimateurs élémentaires (moyenne, écart-type, histogramme. EstimationGénérer *n* valeurs aléatoires d'une variable *Y* selon une loi normale de moyenne 80 et d'écart-type 5. Décrire sommairement cette série de valeurs. Associer les quantités calculées avec leur traduction en anglais *mean*, *median*, *standard error*, *standard déviation*, s*tandard error mean*.<jupyter_code>n=10
Y=rnorm(n,80,5)  # génération
mean(Y)     # moyenne
sd(Y)       # écart-type
sd(Y)/sqrt(length(Y)) # écart-type de la moyenne
summary(Y)  # quartiles et moyenne
boxplot(Y)  # diagramme boîte
# histogramme de la densité
hist(Y, probability=T, col="blue")
# estimation par la méthode du noyau
hist(Y, probability=T, col="blue")
lines(density(Y), col="red", lwd=2)
# tracer la loi théorique
x=1:100
# Graphes
hist(Y, probability=T, col="blue")
lines(density(Y), col="red", lwd=2)
curve(dnorm(x,mean=80,sd=5),add=TRUE,col="green",lwd=2)<jupyter_output><empty_output><jupyter_text>Loi des grands nombresUne moyenne et un écart-type sont la réalisation d'une variable aléatoire appelée *estimateur* ; ce sont des estimations.  Refaire les calculs et graphiques en posant $n=10, n=1000, n=10000$ ; comparer les résultats obtenus, notamment les estimations des indicateurs par rapport aux valeurs théoriques. Etudier leur comportement en fonction de la  taille $n$ de l'échantillon.<jupyter_code>n=100
# matrice de nombres aléatoires de 
# 10 colonnes et n lignes
Y=matrix(rnorm(n*10,80,5),n,10)
# moyenne de chaque colonne
apply(Y,2,mean) 
mean(apply(Y,2,mean)) # moyenne des moyennes
# écart-type de chaque colonne
apply(Y,2,sd)
mean(apply(Y,2,sd))   # moyenne des écarts-types<jupyter_output><empty_output><jupyter_text>Faire varier *n=10, 100, 1000* et comparer les résultats obtenus. Théorème de la limite centraleLa simulation proposée illustre le résultat fondamental du théorème de la limite centrale : une somme de variables aléatoires indépendantes et de même loi converge vers une variable aléatoire de loi gaussienne.Le programme ci-dessous exécute les opérations suivantes :- initialisation par des *0* d'un vecteur de taille *n=1000µ,- chaque valeur de ce vecteur est une variable aléatoire *X* obtenue par la somme de *N* variables suivant une loi uniforme sur l'intervalle *[0, 1]*, - estimation de la densité de *X*- comparaison avec la loi théorique limite qui est la loi gaussienne de moyenne *N/2* et de variance *N/12*.<jupyter_code>n=1000
N=12
X=rep(0,n)  
# n itérations
for (i in 1 : n) X[i]=sum(runif(N))
# histogramme
hist(X, col="blue", probability=T) 
# estimation par méthode su noyau
lines(density(X), col="red", lwd=2) 
x=X
sigma2=N/12
curve(dnorm(x,mean=N/2,sd=sqrt(sigma2)),add=T, col="green", lwd=2)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11005734450816057, 'fraction_numerical': 0.030657256285840317, 'mean_word_length': 5.840120663650075, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '138178', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1751, 'n_tokens_neox': 1687, 'n_words': 525, 'path': 'Intro-R-master/cal1-start-R.ipynb', 'repo_name': 'nevermind78/R_python', 'size': '4534'}