【问题标题】:Keep Words in an XTS object in R在 R 中的 XTS 对象中保留单词
【发布时间】:2018-02-20 10:59:25
【问题描述】:

我其实有一个关于主题的相同问题:

Keeping Character Types/Names in xts object in R

不过,问题似乎还没有解决,不知道原发帖人是否能解决问题,所以我想我应该再问一遍,希望得到答案。

我正在处理一个数据表,我想将此数据表转换为一个 xts 对象。在我的代码中,我使用函数 as.xts() 将数据表对象转换为 xts 对象,当发生这种情况时,xts 包会删除所有非数字列并将数据表转换为 xts 对象/矩阵。

现在,数据表对象中有一个列用名称填充,我想防止 xts 在将数据表转换为 xts 对象时删除此列。这可能吗?

【问题讨论】:

  • 在那篇文章中,OP 只是想保留信息。他不打算使用这些名字。同样,如果要保留名称,可以在 xts 对象的属性中指定它们。 xts_obj<-xts(x=some_mat,order_by=TIME, attr_name=dt$name) 。您可以浏览该线程上的聊天讨论,看看它是否符合您的目的。
  • 我也不想使用 xts 对象中的名称,我只是希望它们在那里,以便更容易跟踪事物。但是,当您使用 as.xts() 函数时,它会自动删除其中包含非数字数据类型的所有列,因此我正在寻找一种方法来保留它们。我应该注意,我希望专门使用 as.xts() 函数,因为与 xts() 函数相比,它在转换对象方面要快得多,而且由于我正在处理非常大的对象,所以我基本上需要我能得到的所有速度
  • 是的,但是尽管xts() 可能会起作用,但它似乎确实慢得多。我在比我目前使用的更小的数据集上运行它,与as.xts() 相比,它需要更长的时间来执行转换,我将继续使用它并希望我能敲击更多的时间虽然

标签: r data.table xts


【解决方案1】:

我不想这么说,但答案是否定的。 xts 对象本质上是一个按日期索引的矩阵。最接近单词的是列名。

【讨论】:

  • 我明白了,谢谢!那么假设我可以将“字符”列添加回表中的唯一方法是将 xts 对象转换回数据表对象,我是否正确?
  • 根据我自己的经验,是的。我会将这些数字转换为 xts 对象以进行我需要的计算。如果不知道你在做什么,我真的无法详细评论。你的名字会随着时间而改变吗?
  • 我有类似的问题,我有股票的股票代码和名称,我需要随时跟踪价格。我通常创建 xts 对象,其中列标题是代码,然后将我的 xts 计算结果合并回具有名称和代码的主数据框。
  • 是的,看起来我可能需要做这样的事情,我基本上从数据表转换为 xts 回到数据表:/ 虽然这样做似乎效率很低
  • 一遍又一遍地重复名字不是很有效。这与在数据库中使用主键的原理相同,并尽可能保持数据库的表简单(仅包含主键和您需要的实际信息)
猜你喜欢
  • 1970-01-01
  • 2017-08-27
  • 2016-01-13
  • 2017-04-17
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-27
相关资源
最近更新 更多