连接数据帧R

时间:2013-09-10 11:08:20

标签: r

我有一个包含一些代码的字段,这是一个函数的参数。例如:

aTickers <- c("GOOG Equity", "AAPL Equity")

这个论点的长度可能不同;它允许包含1个自动收报机,2个代码甚至10个代码。数据被检索到堆叠数据帧中。我想使用股票信息拆分数据。我使用函数

mX <- split(mY, mY$ticker)

我根据股票价值获得了一个分割的数据框。因此,我可以使用mX $'GOOG Equity'来调用Google的股票价格数据。

如何将tickername与mX连接起来,以便我可以在mX $''中检索数据?

非常感谢提前。

mY看起来像这样,例如:

               ticker       date    PX_LAST
    1      SPX Index 2009-01-01         NA
    2      SPX Index 2009-01-02   931.8000
    5      SPX Index 2009-01-05   927.4500
    6      SPX Index 2009-01-06         NA
    7      SPX Index 2009-01-07   906.6500
    8      SPX Index 2009-01-08   909.7300
    9      SPX Index 2009-01-09   890.3500 
….
    5128 AAPL Equity 2009-01-01         NA
    5129 AAPL Equity 2009-01-02    90.7500
    5132 AAPL Equity 2009-01-05    94.5800
    5133 AAPL Equity 2009-01-06    93.0200
    5134 AAPL Equity 2009-01-07    91.0100
    5135 AAPL Equity 2009-01-08    92.7000
    5136 AAPL Equity 2009-01-09    90.5800

mX $'SPX Index'例如如下:

$`SPX Index`
        ticker       date PX_LAST
1    SPX Index 2009-01-01      NA
2    SPX Index 2009-01-02  931.80
3    SPX Index 2009-01-05  927.45
4    SPX Index 2009-01-06      NA
5    SPX Index 2009-01-07  906.65
6    SPX Index 2009-01-08  909.73
7    SPX Index 2009-01-09  890.35

1 个答案:

答案 0 :(得分:0)

Split创建一个list,其元素是数据框的块,名称由您用于拆分的列上的相应值给出。像这样的值:""(空字符串)对应于未命名的元素;并删除NA

示例:

> d <- data.frame(a=c("A",NA,""," "),b=1:4)
> d
     a b
1    A 1
2 <NA> 2
3      3
4      4
> split(d,d$a)
[[1]]
  a b
3   3

$` `
  a b
4   4

$A
  a b
1 A 1

也就是说,您可以尝试使用mX$[[1]]访问所需内容。