重命名R中的列

时间:2015-03-02 01:43:38

标签: r multiple-columns xts quantmod

我对R和编程都很陌生!

我在R中使用quantmod导入每日库存数据。我已经创建了一个对象,可以一次导入所有数据。

MyStock <- c("AAPL","FB",...)

每列的名称包括我只想重命名(打开)的股票代码名称(例如AAPL.Open)。我可以用每个自动收报机的colnames()做到这一点,但我想用我的对象来节省时间。我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:2)

如上所述的Gsub或使用Strsplit功能取决于AAPL.Open在colnames&amp;中出现的位置。提取相应的元素。如下所示:

   MyStock <- c("AAPL.OPen.XX","FB.AAPL.Open.XX")
   MyStock <- sapply(strsplit(MyStock, "AAPL."), "[", 2)

答案 1 :(得分:1)

您可以尝试使用gsub从列中删除代码名称:

colnames(MyStock) = gsub(pattern = "AAPL.", replacement = "", x = colnames(MyStock), fixed = TRUE)

然而
1.如约书亚所建议的那样,你最好提供一个可重复的例子,否则人们很难理解你的问题并且无法正确回答 2.仔细想想你是否真的想这样做。它避免混淆2个代码。如果代码名称是列名称的一部分,quantmodxts中的一些函数仍然有效。也许你应该遵循同样的惯例?您可以查看quantmod::Cl的代码,看看它是如何完成的。