Удалить имена строк из списка данных? - PullRequest
0 голосов
/ 14 октября 2018

Мой код:

library(quantmod)
library(tseries)
library(ggplot2)
companies = c("IOC.BO", "BPCL.BO", "ONGC.BO", "HINDPETRO.BO", "GAIL.BO")
stocks = list()
for(i in 1:5){
 stocks[[i]] = getSymbols(companies[i], auto.assign = FALSE)
}

stocks - это список данных.Сейчас я пытаюсь связать все $ скорректированные столбцы со всеми кадрами данных, хранящимися в stock, но для этого мне нужно удалить имена строк (кто-то, пожалуйста, скажите мне, если есть лучший способ сделать это):

for(i in 1:5)
 rownames(stocks[[i]])<- NULL

но у результирующих фреймов данных все еще есть имена строк, может кто-нибудь сказать мне, где я ошибаюсь?

PS Кроме того, моей конечной целью является создание фрейма данных только с откорректированными столбцами фреймов данных.в списке stocks, для которого я сделал это:

adjusted=data.frame()
for(i in 1:5)
  coln=stocks[[1]][,6]
  adjusted=cbind(ajusted,coln)
adjusted

, но это возвращается с поправкой в ​​виде списка.

1 Ответ

0 голосов
/ 14 октября 2018

Имена строк

Относительно имен строк после выполнения кода в вопросе

rownames(stocks[[1]])
## NULL

, поэтому неверно, что акции имеют имена строк впоследствии.

Скорректированный ряд

Чтобы создать временной ряд скорректированных значений, используйте Ad, как показано ниже.

Adjusted <- do.call("merge", lapply(stocks, Ad))

Соберите все вместе

Примечаниечто нам на самом деле не нужна полная обработка имен строк, и достаточно следующего.Вторая последняя строка является необязательной, поскольку ее единственное назначение - сделать имена столбцов более красивыми, а последняя строка преобразует объект xts Adjusted во фрейм данных и может и не понадобиться, поскольку вам может показаться, что работать с объектом xts удобнее, чемиспользуя фреймы данных.

library(quantmod)
library(ggplot2)

stocks <- lapply(companies, getSymbols, auto.assign = FALSE)
Adjusted <- do.call("merge", lapply(stocks, Ad))
names(Adjusted) <- sub(".BO.Adjusted", "", names(Adjusted))
adjustedDF <- fortify(Adjusted)
...