2 votes

les rapports de fréquences dans R

J'ai les données dans deux fichiers. Je veux tracer un graphique du rapport de leurs fréquences.

Par exemple, dans mon fichier A, les chiffres de 1 à 5 apparaissent 20 fois. Dans mon fichier B, les chiffres de 1 à 5 apparaissent 10 fois (l'histogramme a une largeur de barre de 5). Le rapport entre ces deux nombres est de 20/10 = 2. Je veux tracer ce rapport dans un graphique. Est-il possible de le faire en utilisant R ?

5voto

nico Points 21115

En supposant que vous avez lu les 2 fichiers dans les variables data1 y data2 que vous pourriez faire :

bins <- seq(0, 100, 5) # Change this to whatever range your data encopasses
h1 <- hist(data1, bins, plot=0)
h2 <- hist(data2, bins, plot=0)

ratio <- h1$counts/h2$counts
# Remove NaNs and Infs due to 0 counts
ratio[is.na(ratio)] <- 0
ratio[is.inf(ratio)] <- 0
barplot(ratio)

Vous pouvez aussi créer un troisième objet hist, qui a l'avantage de tracer correctement l'axe des x.

h3 <- h1
h3$counts <- ratio
plot(h3, col="black")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X