Comment générer un tableau de fréquences dans R avec la fréquence cumulée et de la fréquence relative
Je suis nouveau avec R. j'ai besoin de générer un simple Tableau de Fréquences (comme dans les livres) avec la fréquence cumulée et de la fréquence relative.
Je tiens donc à générer à partir des données simples comme
> x
[1] 17 17 17 17 17 17 17 17 16 16 16 16 16 18 18 18 10 12 17 17 17 17 17 17 17 17 16 16 16 16 16 18 18 18 10
[36] 12 15 19 20 22 20 19 19 19
une table:
frequency cumulative relative
(9.99,11.7] 2 2 0.04545455
(11.7,13.4] 2 4 0.04545455
(13.4,15.1] 1 5 0.02272727
(15.1,16.9] 10 15 0.22727273
(16.9,18.6] 22 37 0.50000000
(18.6,20.3] 6 43 0.13636364
(20.3,22] 1 44 0.02272727
Je sais qu'il doit être simple, mais je ne sais pas comment.
J'ai obtenu des résultats à l'aide de ce code:
factorx <- factor(cut(x, breaks=nclass.Sturges(x)))
as.matrix(table(factorx))
Vous devez vous connecter pour publier un commentaire.
Vous êtes près! Il y a quelques fonctions qui le rendra facile pour vous, à savoir
cumsum()
etprop.table()
. Voici comment je devrais sans doute mettre cela ensemble. Je fais quelques données aléatoires, mais le point est le même:??
fonction qui permet une recherche floue, j'.e??"cumulative sum"
vous conduire dans la bonne direction.??
est vraiment bon, mais je ne suis pas anglophone, est donc difficile à l'aide de la recherche.str(as.data.frame(table(sample(1:10, 100, TRUE))))
etstr(table(sample(1:10, 100, TRUE)))
pour voir la différence dans la sortie. Mise en forme des données.cadre tout simplement qu'il est plus facile d'ajouter de l'cumsum et les proportions. Bonne chance! Beaucoup de bonnes infos ici sur DONC et beaucoup de gens qui aiment la réponse aux questions. Cheers!La base de fonctions
table
,cumsum
etprop.table
devrait vous permettre d'y parvenir:Avec cbind et de nommage des colonnes à votre convenance, ce devrait être assez facile pour vous dans l'avenir. La sortie de la fonction de table est une matrice, de sorte que ce résultat est aussi une matrice. Si cela devait être fait sur quelque chose de grand, il serait plus efficace todo ceci:
Si vous cherchez quelque chose de pré-emballés, envisager la
freq()
fonction de ladescr
paquet.Ou pour obtenir des pourcentages cumulatifs, utilisez le
ordered()
fonctionPour ajouter un "fréquences cumulées de la colonne":
Si vos données ont des valeurs manquantes, valable pour cent de la colonne est ajoutée à la table.
Encore une autre possibilité:
Ma suggestion est de vérifier la agricolae paquet... check it out: