R-How如何使用for循环创建嵌套列表

时间:2016-07-05 16:47:11

标签: r list for-loop nested names

我有2个数据帧(ReportedDF,CWNIncreasedEPS)。我想使用每个数据帧的第i个coulmn来创建一个新的数据帧。最后,我想将所有这些数据帧存储在某种嵌套列表中。我已经能够在个人基础上做到这一点,但我似乎无法弄清楚如何让它循环。

我使用了以下代码:

l <- list()
for (i in 1:num) {
  x <- as.data.frame(ReportedDF[,i])
  colnames(x) <- 'Est.EPS'
  y <- as.data.frame(CWNIncreasedEPS[,i])
  colnames(y) <- 'Reported.EPS'

#Add a column of dates
z <- cbind(DateDF,x,y)

l <- list(l, z)
names(l) <- tickers[i,]

}

这是输出的开始:

$`DO US Equity`
$`DO US Equity`$`UA US Equity`
$`DO US Equity`$`UA US Equity`$`MSI US Equity`
$`DO US Equity`$`UA US Equity`$`MSI US Equity`$`CTXS US Equity`
$`DO US Equity`$`UA US Equity`$`MSI US Equity`$`CTXS US Equity`$`RHT US Equity`
$`DO US Equity`$`UA US Equity`$`MSI US Equity`$`CTXS US Equity`$`RHT US Equity`$`RAI US Equity`
$`DO US Equity`$`UA US Equity`$`MSI US Equity`$`CTXS US Equity`$`RHT US Equity`$`RAI US Equity`$`CELG US Equity`
list()

$`DO US Equity`$`UA US Equity`$`MSI US Equity`$`CTXS US Equity`$`RHT US Equity`$`RAI US Equity`$<NA>
        Date Est.EPS Reported.EPS
1 2015-11-30   -0.04         1.36
2 2015-12-31    0.71         1.36
3 2016-01-31    0.71         1.36
4 2016-02-29    0.71         1.37
5 2016-03-31    1.03         1.37
6 2016-04-30    1.03         1.38
7 2016-05-31    1.03         1.38

我的输出中的数字似乎是正确的,但是,列表名称显然是错误的。如何确保每个列表都被正确命名? (在我的数据框代码中的第i行中输入)

DateDf看起来像这样(我想在每个数据框中添加一列日期):

   Date
1 2015-11-30
2 2015-12-31
3 2016-01-31
4 2016-02-29
5 2016-03-31
6 2016-04-30
7 2016-05-31

Tickers看起来像这样:

          Ticker
1 CELG US Equity
2  RAI US Equity
3  RHT US Equity
4 CTXS US Equity
5  MSI US Equity
6   UA US Equity
7   DO US Equity

谢谢。

0 个答案:

没有答案