extraction

Questions sur les objets de R et la manipulation des données

Modérateur : Groupe des modérateurs

Pierre Heisserer
Messages : 4
Enregistré le : 05 Mai 2006, 07:45

extraction

Messagepar Pierre Heisserer » 09 Mai 2006, 14:05

bonjour, encor une question de debutant :oops: ,

comment extraire une table crée sous R
(ex : o3_bld=na.omit(data.frame(h,j,o3[,14],temp[,2])) ) dans Mes documents par exemple.

merci d'avance

Pierre

Tillard
Messages : 87
Enregistré le : 17 Déc 2004, 10:32

re: extraction

Messagepar Tillard » 09 Mai 2006, 16:10

Bonjour

?write.table
et preciser
-le chemin d'acces et le nom du fichier avec l'argument file
-le separateur (tabulation, ";") avec l'argument sep, pour recuperation avec excel ou word ou autres


Emmanuel
Emmanuel Tillard
UMR ERRC (Elevage des Ruminants en Regions Chaudes)
CIRAD - St PIERRE (La Réunion)
tel: 02 62 49 92 54

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Re: extraction

Messagepar Matthieu Lesnoff » 10 Mai 2006, 05:30

Pierre Heisserer a écrit :o3_bld=na.omit(data.frame(h,j,o3[,14],temp[,2])) )


De maniere generale, pour faciliter les debuggages et limiter les risques d'erreur, je vous conseille aussi d'espacer votre code, de remplacer les "=" par des fleches et d'eviter les "_", par exemple :

Code : Tout sélectionner

o3bld <- na.omit(data.frame(h, j, o3[ ,14], temp[ ,2]))


ou

Code : Tout sélectionner

o3.bld <- na.omit(data.frame(h, j, o3[ ,14], temp[ ,2]))


En ce qui concerne les exportations de donnees, il y a une fiche explicative qui pourrait peut etre vous aider, recuperable dans la rubrique Fiches de ce forum. Pour les importations de donnees (excel, access) il y aussi le package ttool, recuperable dans la rubrique Packages (cf fonction query et le menu deroulant Import Data).

Bonne continuation

Matthieu

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Re: extraction

Messagepar Renaud Lancelot » 14 Mai 2006, 17:22

Il est également possible d'utiliser des packages spécialisés capables de créer des tableaux sous différents formats pouvant ensuite être insérés dans des documents externes:

Par exemple, le package xtable permet de créer des tables aux formats html ou LaTeX:

Code : Tout sélectionner

> library(xtable)
> data(tli)
> fm <- lm(tlimth ~ sex*ethnicty, data=tli)
> coef(summary(fm))
                       Estimate Std. Error    t value     Pr(>|t|)
(Intercept)           73.636364   4.250242 17.3252158 7.253668e-31
sexM                  -1.636364   5.884194 -0.2780948 7.815569e-01
ethnictyHISPANIC      -9.761364   6.550063 -1.4902702 1.395371e-01
ethnictyOTHER         15.863636  10.836034  1.4639707 1.465740e-01
ethnictyWHITE          4.796970   4.968725  0.9654327 3.368320e-01
sexM:ethnictyHISPANIC 10.678030   8.719042  1.2246794 2.237891e-01
sexM:ethnictyWHITE     5.123030   7.013973  0.7304035 4.669796e-01
> fm.table <- xtable(fm2)
> print(fm2.table, file = "fm.html", type = "html")
> print(fm2.table, file = "fm.TeX", type = "latex")


Les fichiers fm.html et fm.TeX sont créés dans le répertoire de travail. Par exemple, le fichier fm.TeX se présente de la manière suivante:

Code : Tout sélectionner

% latex table generated in R 2.3.0 by xtable 1.3-1 package
% Sun May 14 18:45:03 2006
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrrrr}
\hline
 & Estimate & Std. Error & t value & Pr($>$$|$t$|$) \\
\hline
(Intercept) & 73.6364 & 4.2502 & 17.33 & 0.0000 \\
sexM & $-$1.6364 & 5.8842 & $-$0.28 & 0.7816 \\
ethnictyHISPANIC & $-$9.7614 & 6.5501 & $-$1.49 & 0.1395 \\
ethnictyOTHER & 15.8636 & 10.8360 & 1.46 & 0.1466 \\
ethnictyWHITE & 4.7970 & 4.9687 & 0.97 & 0.3368 \\
sexM:ethnictyHISPANIC & 10.6780 & 8.7190 & 1.22 & 0.2238 \\
sexM:ethnictyWHITE & 5.1230 & 7.0140 & 0.73 & 0.4670 \\
\hline
\end{tabular}
\end{center}
\end{table}


Ce fichier peut être inséré dans un document source LaTeX et compilé pour faire un fichier pdf. De même, le document html peut être inséré dans un fichier Word (ou autre).

Renaud

François Bonnot
Messages : 537
Enregistré le : 10 Nov 2004, 15:19
Contact :

Messagepar François Bonnot » 15 Mai 2006, 07:39

Il est également possible d'utiliser des packages spécialisés capables de créer des tableaux sous différents formats pouvant ensuite être insérés dans des documents externes

Il est parfois assez simple d'écrire sa propre fonction pour extraire des données exactement comme on le veut. Par exemple la fonction suivante sort une matrice en LaTeX:

Code : Tout sélectionner

r2latex <- function(m,filename=NA,zero=0){
  f <- if (!is.na(filename)) file(filename,'w') else stdout()
  writeLines("$\\left(",f)
  writeLines(paste("\\begin{array}{",paste(rep('r',ncol(m)),collapse=''),"}",sep=''),f)
  for (i in 1:nrow(m)){
    text <- NULL
    for (j in 1:ncol(m)){
      mij <- if (m[i,j]==0) zero else m[i,j]
      text <- paste(text,mij,collapse=' ')
      text <- paste(text,if (j<ncol(m)) '&' else '\\\\',collapse=' ')
    }
    writeLines(text,f)
  }
  writeLines("\\end{array}",f)
  writeLines("\\right)$",f)
  if (!is.na(filename)) close(f)
}


Code : Tout sélectionner

> m <- matrix(1:12,nrow=3)
> m
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12
> r2latex(m)
$\left(
\begin{array}{rrrr}
 1 & 4 & 7 & 10 \\
 2 & 5 & 8 & 11 \\
 3 & 6 & 9 & 12 \\
\end{array}
\right)$


Code : Tout sélectionner

> r2latex(m,filename="essai.tex",zero='.')
> m <- diag(1:5)
> m
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    2    0    0    0
[3,]    0    0    3    0    0
[4,]    0    0    0    4    0
[5,]    0    0    0    0    5
> r2latex(m,filename="essai.tex",zero='.') # Sortie dans essai.tex


Retourner vers « Archives : Manipulation de données avec R »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité