Удалить имена строк из списка данных?

Мой код:

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 ответ

Решение

Имена строк

Что касается имен строк после запуска кода в вопросе

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)
Другие вопросы по тегам