data.frame objet à XTS objet conversion en R
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?
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.