Browse Source

Correction nom de fichier du projet

Prise en compte des commentaires et ; dans les fichiers SAS
master
Maxime Wack 10 years ago
parent
commit
624ec38f65
4 changed files with 21 additions and 33 deletions
  1. +17
    -15
      R/charger.R
  2. +0
    -17
      SEECNancy.Rproj
  3. +0
    -0
      cosmosR.rproj
  4. +4
    -1
      man/charger.Rd

+ 17
- 15
R/charger.R View File

@@ -10,14 +10,15 @@
#' @encoding UTF-8
#' @param fichier Fichier de donnees a charger
#' @param feuille Feuille a utiliser si fichier excel et en cas de feuilles mutiples (et qu'on veut acceder a une feuille au-dela de la premiere)
#' @param chemin Chemin ou trouver le fichier de donnees (par defaut ../../data/)
#' @return La data frame avec les labels et formats
#' @examples
#' \dontrun{Ma_table <- charger("donnees.xls", feuille=2)}
#' @export
charger <- function(fichier,feuille=1)
charger <- function(fichier,feuille=1,chemin="../../data/")
{
# Verification de la presence du fichier
fichier<-paste("../../data/",fichier,sep="")
fichier<-paste(chemin,fichier,sep="")
if (!file.exists(fichier))
{
warning("Le fichier source n'existe pas !")
@@ -39,11 +40,12 @@ charger <- function(fichier,feuille=1)
formatsfile=readLines(con)
close(con)
# Nettoyage du fichier : espaces de debut et fin, et autour des '=', conservation uniquement des lignes significatives (value xxx et 'code'='level')
formatsfile=sub("^[[:space:]]*","",formatsfile)
formatsfile=sub("[[:space:]]*$","",formatsfile)
formatsfile=formatsfile[grepl("^value *\\w",formatsfile) | grepl("\\d+ *= *\\'.*?\\'",formatsfile)]
formatsfile=sub("[[:space:]]*=[[:space:]]","=",formatsfile)
# Nettoyage du fichier : espaces de debut et fin, et autour des '=', commentaires, conservation uniquement des lignes significatives (value xxx et 'code'='level')
formatsfile=sub("^[[:space:]]*(.*?)[[:space:]]*$","\\1",formatsfile)
formatsfile=sub("[[:space:]]*=[[:space:]]*","=",formatsfile)
formatsfile=sub("/\\*.*?\\*/","",formatsfile)
formatsfile=sub(";","",formatsfile)
formatsfile=formatsfile[grepl("^value[[:space:]]*\\w",formatsfile) | grepl("\\d+=\\'.*?\\'",formatsfile)]
formatsfile=sub("^(\\d+)","\\'\\1\\'",formatsfile)
# Creation de la liste de formats
@@ -66,12 +68,13 @@ charger <- function(fichier,feuille=1)
close(con)
# Nettoyage du fichier : espaces de debut et fin, espaces multiples, autour des '=', '.' final, conservation uniquement des lignes significatives (finissant en format=xxx)
attribfile=sub("^[[:space:]]*","",attribfile)
attribfile=sub("[[:space:]]*$","",attribfile)
formatsfile=sub("^[[:space:]]*(.*?)[[:space:]]*$","\\1",formatsfile)
attribfile=sub("\\.?$","",attribfile)
attribfile=attribfile[grepl("(\\w[[:space:]]+)+format *= *\\w",attribfile)]
formatsfile=sub("/\\*.*?\\*/","",formatsfile)
formatsfile=sub(";","",formatsfile)
attribfile=sub("[[:space:]]*=[[:space:]]*","=",attribfile)
attribfile=attribfile[grepl("(\\w[[:space:]]+)+format=\\w",attribfile)]
attribfile=gsub("[[:space:]]+"," ",attribfile)
attribfile=sub("[[:space:]]*=[[:space:]]","=",attribfile)
# Attribution des formats aux variables concernees
for (attrib in attribfile)
@@ -93,7 +96,7 @@ charger <- function(fichier,feuille=1)
con=file("labels.sas","r",encoding="native.enc")
labelsfile=readLines(con)
close(con)
labels=labelsfile[grepl('^ *\\w*? *= *\\".*?\\" *$',labelsfile)]
labels=labelsfile[grepl('^ *\\w*?[[:space:]]*=[[:space:]]*\\".*?\\" *$',labelsfile)]
labels=paste(labels,collapse=",")
label_exe = paste("label(x)<-c(",labels,")")
eval(parse(text=label_exe))
@@ -105,7 +108,6 @@ charger <- function(fichier,feuille=1)
if (is.factor(x[[var]]))
levels(x[[var]])[levels(x[[var]])==""]<-NA
}
# Enregistrement de la table dans l'environnement
x

return(x)
}

+ 0
- 17
SEECNancy.Rproj View File

@@ -1,17 +0,0 @@
Version: 1.0

RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default

EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8

RnwWeave: Sweave
LaTeX: pdfLaTeX

BuildType: Package
PackageInstallArgs: --no-multiarch
PackageRoxygenize: rd,namespace

SEEC_Nancy.Rproj → cosmosR.rproj View File


+ 4
- 1
man/charger.Rd View File

@@ -3,7 +3,7 @@
\alias{charger}
\title{Charger un fichier de donnees dans l'environnement}
\usage{
charger(fichier, feuille = 1)
charger(fichier, feuille = 1, chemin = "../../data/")
}
\arguments{
\item{fichier}{Fichier de donnees a charger}
@@ -11,6 +11,9 @@ charger(fichier, feuille = 1)
\item{feuille}{Feuille a utiliser si fichier excel et en
cas de feuilles mutiples (et qu'on veut acceder a une
feuille au-dela de la premiere)}

\item{chemin}{Chemin ou trouver le fichier de donnees
(par defaut ../../data/)}
}
\value{
La data frame avec les labels et formats


Loading…
Cancel
Save