从数据框列表中删除行名?

Remove row names from a list of dataframes?

我的代码:

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 是数据帧列表。现在我正在尝试将所有 $adjusted 列绑定到 stock 中存储的所有数据帧,但为此我需要删除行名(如果有更好的方法,请告诉我):

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

但是生成的数据帧仍然有它们的行名,有人可以告诉我哪里出错了吗?

P.S。此外,我的最终目标是让一个数据框只包含列表 stocks 中数据框的调整列,我为此做了:

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

但是这个 returns 调整为列表。

行名称

关于 运行 问题中的代码后的行名称

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)