Question

Je voudrais convertir mes fichiers csv en objets XTS aussi efficacement que possible. Il me semble être coincé si d'avoir à la première application de la méthode read.zoo pour créer un objet de zoo avant de pouvoir le convertir en un objet XTS.

gold <- read.zoo("GOLD.CSV", sep=",", format="%m/%d/%Y", header=TRUE)

Gold <- as.xts (gold, order.by=index(gold), frequency=NULL)

Est-ce la façon la plus efficace de convertir mon fichier GOLD.CSV initial dans un R objet XTS?

Était-ce utile?

La solution

Si c'est un fichier, vous devez lire.

Utilisez donc read.zoo() que vous - mais convertir rightaway:

 gold <- as.xts(read.zoo("GOLD.CSV", sep=",", format="%m/%d/%Y", header=TRUE))

Ok?

Autres conseils

Vous pouvez écrire votre propre fonction read.xts. Nous appelons une fonction enveloppe et il faut aller quelque chose le long des lignes de

read.xts <- function(x, format = "%m/%d/%Y", header = TRUE, sep = ",") {
  result <- as.xts(read.zoo(x, sep = sep, format = format, header = header))
  return(result)
}

read.xts(file.choose())  # select your file

Remarquez les arguments function(). Elles sont transmises au corps de la fonction (code entre accolades). Si les arguments de function() ont des valeurs, cela signifie que c'est leur valeur par défaut. Si vous attribuez de nouvelles valeurs (par exemple function(x = "my.file.csv", sep = "\t")), ils remplacent les valeurs par défaut. La dernière ligne vous montre comment vous pouvez utiliser votre nouvelle fonction. Sentez-vous libre d'étendre cette fonction avec le reste des arguments de read.zoo. Si vous avez une question spécifique sur la façon de le faire, ne pas en timide et demandez. :)

J'utilise quelques-unes des petites perles comme ça dans mon travail quotidien. J'ai créé un fichier appelé workhorse.R et je charger (par exemple source("d:/workspace/workhorse.R")) chaque fois que je besoin des petites fonctions.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top