commandes_r_usuel.pdf

Embed Size (px)

Citation preview

  • Commandes usuelles de R

    J. Chiquet, janvier 2010

    Cette liste de commandes (non exhaustive) est une adaptation dela ref-card R de Tom Short. Elle est un relais entre ce que cherchelutilisateur et laide de R : les nombreuses options disponibles nesont que rarement spcifies ici.

    Aide et fonctions de base

    help(topic),?topic affiche laide relative topicapropos("topic"),??topic recherche par mot-cl (version

    courte)help.search("topic"),???topic recherche par mot-cl

    (version longue)help.start() lance la version HTML de laidestr(a) affiche la structure de lobjet ahead(a) affiche les premiers lments de lobjet a (selon son

    type: vecteur, matrice, tableau, etc.)summary(a) propose un rsum de a, la plupart du temps un

    rsum statistiquesearch() affiche litinraire de recherchels() affiche tous les objets prsents dans litinraire de

    recherchels.str() applique str() variable prsente dans litinraire

    de recherchedir() affiche les fichiers prsents dans le rpertoire courantlibrary(x) charge la bibliothque xattach(x) place lobjet x dans litinraire de recherche; x peut

    tre une liste, un tableau de donnes ou un objet cr laide de la fonction savedetach(x) te lobjet x de litinraire de rechercherm(x), remove(x) dtruit lobjet xsetwd(dir), getwd(dir) affecte ou rcupre le chemin du

    rpertoire de travail courantfunction( arglist ) { expr return(result)} dfini-

    tion de fonctionif, while, repeat, etc. voir help(if")

    Entres / Sorties

    save(file,x,y) enregistre les objets x,y dans le fichier bi-naire filesave.image(file) enregistre tous les objets de la sessionload(file) charge un objet prcdemment enregistr laide

    de savedata(x) charge le jeu de donnes xread.table(file), read.csv, read.delim lit un fichier

    stock sous la forme dun tableau et cre un objetdata.frame; le sparateur par dfaut est le caractreespace pour read.table, la virgule ou le point virgulepour read.csv, la tabulation pour read.delim; utiliserloption header=TRUE pour que la premire ligne soitconsidre comme dfinissant le nom des colonnescat(...) fonction dimpression bas niveauprint(a) fonction daffichage dun objet a sadaptant au type

    de lobjetformat(x) formatage dun objetwrite.table(x) imprime x aprs conversion en typedata.frame

    Cration de donnes

    c(...) fonction gnrique combinant une suite dlments enun vecteurfrom:to gnre une squence; priorit de loprateur : 1:4+ 1 vaut 2,3,4,5seq(from,to) gnre une squence; by= et length= spci-

    fient lincrment et/ou la longueurseq(along=x) gnre 1, 2, ..., length(x); utile lors de

    boucle forrep(x,times) rpte x un nombre times de fois; utilisereach= pour rpter chaque lment each fois; eachpeut tre un vecteurdata.frame(...) cre un tableau de donnes; les vecteurs

    courts sont rpts jusqu correspondre la taille desvecteurs les plus longslist(...) cre une listearray(x,dim=) cre un tableau multidimensionnel x; les l-

    ments de x sont rpts si la taille ne correspond pas auxdimensions spcifiesmatrix(x,nrow=,ncol=) cre une matrice; les lments de x

    sont rpts si la taille ne convient pasfactor(x,levels=) cre un vecteur de facteursexpand.grid() gnre un tableau de donnes contenant les

    combinaisons des vecteurs spcifis en argumentsrbind(),cbind() pour combiner les lments dun objet par

    ligne et par colonne

    Extraction de donnes

    Indexation des listesx[n] une liste avec les lments de nx[[n]] le ne lment de la listex$name,x[["name"]] llment "name"

    Indexation des vecteursx[n] n

    e lment du vecteurx[-n] tous les lments sauf le ne

    x[1:n] n premiers lmentsx[-(1:n)] tous les lments sauf les n premiersx[c(1,4,2)] lments 1,4 et 2x["name"] lment(s) de nom "name"x[x > 3] tous les lments plus grands que 3x[x > 3 & x < 5] tous les lments compris entre 3 et 5

    Indexation des matricesx[i,j] lment de la ie ligne et je colonnex[i,] i

    e lignex[,j] j

    e colonnex[,c(1,3)] colonnes 1 et 3x["name",] lignes intitules "name"x[rowSums(x)>10,] lignes dont la somme est suprieure 10

    Variables et attributs

    as.array(x), as.data.frame(x), as.numeric(x),as.logical(x), as.character(x), . . . conversionde typeis.na(x), is.null(x), is.array(x), is.data.frame(x),is.numeric(x), is.character(x), . . . teste le typedun objet

    Les fonctions suivantes sutilisent pour rcuprer ou spcifier unattribut.

    length(x) nombre dlments de xdim(x) nombre de dimensions dun objetdimnames(x) noms des dimensions dun objetnrow(x), ncol(x) nombre de lignes et de colonnesclass(x) classe de lobjet xunclass(x) supprime lattribut class de la variable xattr(x,which) rcupre ou spcifie les attributs de x dcrits

    par whichattributes(x) rcupre ou spcifie tous les attributs de x

  • Manipulation et slection de donnes

    which.max(x),which.min(x) retourne lindice du plus grand(resp. plus petit) lment de xrev(x) inverse lordre des lments xsort(x) ordonne les lments de x par ordre croissantcut(x,breaks) dcoupe x en intervalles dfinis par breaksmatch(x, y) renvoie un vecteur de la mme taille que x dont

    llment i vaut x[i] si x[i] appartient y et NA sinonwhich(x==a) renvoie les indices des lments de x vrifiantx==a

    choose(n, k) calcule les combinaisons de k lments parminna.omit(x) supprime les observations manquantes (notesNA)na.fail(x) renvoie une erreur si x contient au moins un NAunique(x) supprime les doublons dun vecteur ou dun

    tableautable(x) renvoie un tableau avec le nombre des diffrentes

    valeurssubset(x, ...) renvoie un sous ensemble de x dfini par ...sample(x, size) cre un chantillon alatoire de taille size

    parmi les lments de x

    Mathmatiques

    abs, sqrt, sin, cos, tan, asin, acos, atan, atan2, log, log10,exp, . . . fonctions mathmatiques lmentairesmax(x), min(x), range(x), sum(x), diff(x), prod(x),mean(x), median(x), sd(x)maximum, minimum, am-plitude, somme, diffrences, produit, moyenne, mdi-ane, cart-typequantile(x,probs=) fractiles des lments de xweighted.mean(x, w)moyenne de x pondre par wvar(x), cov(x) variance empirique corrige; si x est une ma-

    trice, renvoie la matrice de variance-covariancecor(x)matrice de corrlations de xvar(x, y), cov(x, y) covariance entre x et y, ou entre les

    colonnes de x et de y si ce sont des matrices ou destableauxcor(x, y) idem pour la corrlation linaireround(x, n) arrondit les lments de x n dcimalesscale(x) centre et rduit les donnes x; pour centrer et/ou r-

    duire uniquement, utiliser les scale et/ou centerpmin(x,y,...), pmax(x,y,...) un vecteur dont le i e l-

    ment est le minimum (resp. maximum) entre x[i] ety[i]

    cumsum(x) un vecteur dont le i e lment est la somme des ipremiers lments de x

    cumprod(x), cummin(x), cummax(x) idem pour le produit,le min, le maxunion(x,y), intersect(x,y), setdiff(x,y),

    setequal(x,y) et is.element(el,set) fonctionsde dfinition densemblesRe(x), Im(x), Mod(x),Arg(x), Conj(x) partie relle,

    partie imaginaire, module, argument et conjugu dunnombre complexeconvolve(x,y) calcule de convolution entre deux squencesfft(x), mvfft(x) transformation de Fourier dune matrice,

    resp des colonnes dune matricefilter(x,filter) application dun filtre linaire chaque

    lment dune suite x

    Matrices

    rowSums(x), colSums(x), rowMeans(x), colMeans(x)somme et moyenne de chaque ligne, resp. chaquecolonne de xt(x) transpose de xdiag(x) renvoie ou spcifie la diagonale de x%*%multiplication matriciellecrossprod(x,y), t(x)%*% y produit scalaire de x par ysvd(x) dcomposition en valeurs singulireseigen(x) diagonalisation dune matricechol(x) dcomposition de Choleskyqr(x) dcomposition QRsolve(a,b) rsout a %*% x = bsolve(a) calcule linverse de a

    Traitements avancs

    apply(x,INDEX,FUN=) renvoie un vecteur ou une liste devaleurs obtenues en appliquant la fonction FUN aux l-ments de la dimension INDEX de xlapply(x,FUN) applique FUN aux lments dune listetapply(x,INDEX,FUN=) applique FUN chaque groupe du

    tableau X dfini par les indices INDEXby(data,INDEX,FUN) applique FUN au tableau de donnesdata dcoup via INDEXave(x,...,FUN) applique FUN chaque sous-ensemble de x

    dfinis par des facteursmerge(a,b) fusion de deux tableaux de donnes portant les

    mmes noms de ligne ou de colonneaggregate(x,by,FUN) dcoupe le tableau x en sous-

    ensembles auxquels sont appliqus la fonction FUNet renvoie le rsultat; by est une liste dfinissant lessous-ensembles de xstack(x, ...), unstack(x, ...) transforme un tableau

    ou une liste x en un vecteur colonne, et rciproquement

    Chanes de caractres

    paste(...) concatnation de vecteurs aprs conversion encaractressubstr(x,start,stop) extraction ou spcification dune

    sous-chane de xstrsplit(x,split) dcoupe x selon la sous-chane splitgrep(pattern,x) recherche le motif pattern dans la chanex

    tolower(x), toupper(x) conversion en minuscules, resp.en majusculesmatch(x,table) un vecteur renvoyant les positions o les l-

    ments de x ont t pour la premire fois rencontrs danstable

    x %in% table identique, mais renvoie un vecteur de boolenspmatch(x,table) appariement partiel des lments de x

    parmi tablenchar(x) nombre de caractres de x

    Graphiques et figures

    x11(), windows() ouvre une nouvelle fentre graphiquepdf(), png(), jpeg(), bitmap(), xfig(), pictex(),

    postscript() pilote graphique produisant des sortiesdans des fichiers plutt qu lcrandev.off() ferme le pilote de sortie graphique pour clore le

    fichier de sortie

    Commandes graphiques haut niveau

    plot(x) trace les valeurs contenues dans x sur laxe des y ;sadapte la classe de lobjet xplot(x, y) graphe bivari (x sur laxe des x, y sur laxe des y)hist(x) histogramme des frquences de xcurve(expr) trace la fonction dfinie par lexpression exprbarplot(x) histogramme des valeurs de xdotchart(x) si x est un tableau de donnes, trace les donnes

    par nuages de points groups par ligne en ordonnespuis par colonne en abscissespie(x) graphe en camembertboxplot(x) bote moustachesinteraction.plot (f1, f2, y) si f1 et f2 sont des fac-

    teurs, trace les moyennes de y en fonction des valeursde f1 et f2 sur deux courbes diffrentesmatplot(x,y) graphe bivari traant la premire colonne de x

    vs. la premire colonne de y, puis la deuxime colonnede x vs. la deuxime colonne de y, etc.

  • assocplot(x) graphe dassociation indiquant quelle pointles colonnes et lignes du tableau de contingence xdvient de lhypothse dindpendancemosaicplot graphe mosaque des rsidus dun modle log-

    linairepairs(x) trace tous les graphes bivaris possibles entre les

    colonnes du tableau de donnes xplot.ts(x) si x est de classe "ts" (time-serie), trace x en fonc-

    tion du tempsqqnorm(x) fractiles de x en fonction des valeurs attendues sous

    lhypothse gaussienneqqplot(x, y) fractiles de y en fonction des fractiles de xcontour(x, y, z), image(x, y, z), persp(x, y, z)

    variantes pour tracer les donnes de la matrice z enfonction des vecteurs x et ysymbols(x, y, ...) trace aux coordonnes spcifies par x

    et ydes cercles, carrs, rectangles, toiles, bots mous-taches, etc.termplot(mod.obj) trace les termes dun modle de rgres-

    sion en fonction des prdicteurs

    Paramtres rcurrents des fonctions graphiques

    add=FALSE si TRUE superpose le graphe au prcdentaxes=TRUE si FALSE ne trace pas daxestype="p" spcifie le type de trac: "p" pour points, "l" pour

    lignes, "b" pour points lis par des lignes, "o" pourlignes superposes aux points, "h" pour lignes verti-cales, "s" ou "S" pour fonction en escaliersxlim=, ylim= spcifie les limites des axes x et yxlab=, ylab= annotation des axes x et ymain= titre du graphe en courssub= sous-titre du graphe en cours

    Commandes graphiques bas-niveau

    points(x, y) ajoute des points aux coordonnes x et ylines(x, y) trace y en fonction de xtext(x, y, labels, ...) ajoute le texte labels aux coor-

    donnes (x,y)mtext(text, side=3, ...) ajoute le texte text dans la

    marge sidesegments(x0, y0, x1, y1) trace des lignes des points

    (x0,y0) aux points (x1,y1)arrows(x0, y0, x1, y1) identique mais avec des flchesabline(a,b) trace une droite de pente b et de dcalage a par

    rapport laxe des xabline(h=y) trace une ligne horizontale lordonne yabline(v=x) trace une ligne verticale labscisse xrect(x1, y1, x2, y2) trace un rectangle dfini par x1, x2,

    y1 et y2polygon(x, y) trace un polygone en liant les points de coor-

    donnes dfinies dans les vecteurs x et ylegend(x, y, legend) ajoute une lgende au point (x,y)

    spcifi par legendtitle() ajoute un titre et ventuellement un sous-titreaxis(side) fonction de bas niveau pour grer les axes de la

    figurebox() trace un cadre autour de la figure courante

    Paramtres graphiques de bas de niveau

    Ces paramtres sont dfinis laide de la commande par(...)ou directement par passage la fonction graphique dappel

    adj contrle la justification du textebg spcifie la couleur de fondbty contrle le type de cadre trac autour de la figurecex contrle la taille du texte et des symbolescol contrle la couleur des symboles et des courbes (entier ou

    chane de caractres)font un entier contrlant le style de la policelas un entier contrlant lorientation des annotations des axeslty contrle le type de ligne (entier ou chane de caractre)lwd contrle lpaisseur des lignesmar contrle lespace entre le trac et les bordures de la fentremfc un vecteur de la forme c(nr,nc) qui partitionne la fentre

    graphique en nr lignes et nc colonnes, les graphes tanttracs par colonne.mfrow identique mais les graphes sont tracs par lignepch contrle le type de symbole:

    l1 2 3 4 5 6 7 8 9 l10 11 12 l13 14 15l16 17 18 l19 l20 l21 22 23 24 25 ** . XX aa ??

    ps un entier contrlant la taille du texte et des symboles

    Optimisation, ajustement, statistique

    optimize(fn,interval) mthode doptimisation pour lesfonctions unidimensionnellesoptim(par, fn) mthode doptimisation gnrique min-

    imisant la fonction fn en partant de la valeur par descoefficientsnlm(f,p)minimise la fonction f laide dun algorithme type

    Newton, partant de la valeur p pour les coefficientslm(formula) ajuste un modle linaire; formula est typique-

    ment de la forme response termA + termB + ...glm(formula,family=) ajuste un modle linaire gnralisnls(formula) estimateur non-linaire des moindres carrs

    des paramtres dun modle non-linaireapprox(x,y=) interpolation linaire

    spline(x,y=) interpolation par splines cubiquesaov, anova fonction danalyse de la variancedensity(x) estimateur noyaux de la densit de xt.test(), pairwise.t.test(), chisq.test(),binom.test(), prop.test(), power.t.test(), . . .utiliser help.search("test") pour voir lensembledes tests statistiques disponibles

    Attributs dun modle

    Les fonctions ci-dessus renvoient un objet modle dontlajustement dpend de la mthode utilise. Certains des at-tributs de cet objet sont valus laide des commandes suiv-antes.

    df.residual(fit) renvoie le nombre de degrs de libertrsiduels de fitcoef(fit) renvoie les coefficients estims de fitresiduals(fit) renvoie les rsidusfitted(fit) renvoie les valeurs ajusteslogLik(fit) calcule la log-vraisemblance du modle et le

    nombre de paramtresAIC(fit) calcule le critre AIC (Akaike information criterion)

    Distributions

    Toutes les fonctions suivantes peuvent sutiliser en remplaant lalettre r avec d, p ou q pour obtenir, respectivement, un tirage den ralisations dune variable alatoire, la densit de probabilit,la fonction de rpartition, et la valeur des fractiles.

    rnorm(n, mean=0, sd=1) gaussiennerexp(n, rate=1) exponentiellergamma(n, shape, scale=1) Gammarpois(n, lambda) Poissonrweibull(n, shape, scale=1)Weibullrcauchy(n, location=0, scale=1) Cauchyrbeta(n, shape1, shape2) Betart(n, df) Studentrf(n, df1, df2) FisherSnedecor (F )rchisq(n, df) Pearson (2)rbinom(n, size, prob) binomialergeom(n, prob) geometriquerhyper(nn, m, n, k) hypergeometriquerlogis(n, location=0, scale=1) logistiquerlnorm(n, meanlog=0, sdlog=1) lognormalernbinom(n, size, prob) binomiale negativerunif(n, min=0, max=1) uniformerwilcox(nn, m, n), rsignrank(nn, n) Statistique de

    Wilcoxon