Quelqu'un connaît-il un R équivalent à SAS PROC FREQ
?
J'essaie de générer des statistiques descriptives résumées pour plusieurs variables à la fois.
Quelqu'un connaît-il un R équivalent à SAS PROC FREQ
?
J'essaie de générer des statistiques descriptives résumées pour plusieurs variables à la fois.
Réponses:
J'utilise
table
etprop.table
, maisCrossTable
dans legmodels
package pourrait vous donner des résultats encore plus proches de SAS. Voir ce lien .De plus, pour générer des "statistiques descriptives pour plusieurs variables à la fois", vous utiliseriez la
summary
fonction; par exemplesummary(mydata)
.la source
La synthèse des données dans la base R n'est qu'un casse-tête. C'est l'un des domaines où SAS fonctionne assez bien. Pour R, je recommande le
plyr
package.En SAS:
avec
plyr
:la source
Je n'utilise pas SAS; donc je ne peux pas dire si la réplication suivante
SAS PROC FREQ
, mais ce sont deux stratégies rapides pour décrire les variables dans un data.frame que j'utilise souvent:describe
dansHmisc
fournit un résumé utile des variables, y compris des données numériques et non numériquesdescribe
danspsych
fournit des statistiques descriptives pour les données numériquesExemple R
Voici la sortie de
Hmisc
describe
:Ensuite, voici la sortie de
psych
describe
pour les variables numériques:la source
J'utilise la fonction livre de codes de {EPICALC} qui donne des statistiques récapitulatives pour une variable numérique et une table de fréquence avec des étiquettes de niveau et des codes pour les facteurs. http://cran.r-project.org/doc/contrib/Epicalc_Book.pdf (voir p.50) De plus, cela est très utile car il fournit sd pour les variables quantitatives.
Prendre plaisir !
la source
codebook()
cela se présente. Un problème est que lesna
s sont supprimés, que vous souhaiterez peut-être inclure dans votre sortie. Une façon de gérer ce problème (au moins avec les facteurs) consiste à utiliser ? Recode.is.na 1er (par exemple, "manquant"); pour les variables numériques, vous pouvez créer une nouvelle variable immédiatement à gauche de la colonne avec une valeur logique basée suris.na()
, puis exécutercodebook()
. C'est un peu kluge, cependant.Vous pouvez consulter mon package summarytools ( lien CRAN ) qui comprend une fonction de type livre de codes, avec des options de mise en forme et de formatage html.
Résumé de la trame de données
CO2
ÉDITER
Dans les versions plus récentes de summarytools , la
freq()
fonction (qui produit des tableaux de fréquences simples, plus pertinents par rapport à la question d'origine) accepte les trames de données ainsi que les variables uniques. Pour les tableaux croisés (ce que proc freq fait également), voir lactable()
fonction.Fréquences
CO2 $ UsineType : Facteur ordonné
CO2 $ TypeType : Facteur
Traitement CO2 $Type : Facteur
la source
Merci pour toutes les suggestions à tous. J'ai fini par utiliser la table ou la fonction numSummary de Rcmdr plus appliquer:
Cela fonctionne plutôt bien et n'est pas trop gênant. Cependant, je vais certainement essayer certaines de ces autres solutions!
la source