我对R和编程都很陌生!
我在R中使用quantmod导入每日库存数据。我已经创建了一个对象,可以一次导入所有数据。
MyStock <- c("AAPL","FB",...)
每列的名称包括我只想重命名(打开)的股票代码名称(例如AAPL.Open)。我可以用每个自动收报机的colnames()做到这一点,但我想用我的对象来节省时间。我该怎么做?
谢谢!
答案 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个代码。如果代码名称是列名称的一部分,quantmod
和xts
中的一些函数仍然有效。也许你应该遵循同样的惯例?您可以查看quantmod::Cl
的代码,看看它是如何完成的。