data.frame对象到xts对象在R中的转换

data.frame对象到xts对象在R中的转换,r,dataframe,xts,R,Dataframe,Xts,我希望尽可能高效地将csv文件转换为xts对象。我似乎被困在必须首先应用read.zoo方法来创建zoo对象,然后才能将其转换为xts对象 gold <- read.zoo("GOLD.CSV", sep=",", format="%m/%d/%Y", header=TRUE) Gold <- as.xts (gold, order.by=index(gold), frequency=NULL) gold如果是文件,您需要读取它 所以您可以使用read.zoo(),然后立即转换:

我希望尽可能高效地将csv文件转换为xts对象。我似乎被困在必须首先应用read.zoo方法来创建zoo对象,然后才能将其转换为xts对象

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

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

gold如果是文件,您需要读取它

所以您可以使用
read.zoo()
,然后立即转换:

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

gold您可以编写自己的
read.xts
函数。我们称之为包装器函数,它应该遵循

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

read.xts,真管用!我不清楚你怎样才能避免通过辩论通过命令。在任何情况下,我不确定你是否能在效率上超过这条线。似乎没有read.xts函数存在或正在使用。如果它已经是
zoo
对象,它有一个索引,并且不需要
顺序。通过
@Milktrader,我认为您混淆了
xts
as.xts
。比较<代码> ARGS(XTS::as.xts动物园)<代码> >代码> ARGS(XTS)。这是一个非常优秀的想法,在我的R知识中,我仍然没有预先编写。函数是我的下一步,所以这是一个完美的应用程序。另外,感谢您定义“包装器”函数,因为这个短语对我来说是不透明的。现在开始沉迷其中了。不要害怕——它可以像一行一样简单:
cubed