如何使用字符向量对数据帧进行子集

时间:2019-08-03 03:20:49

标签: r subset

我有一小块数据,看起来像:

Ticker Date.x               Rclose  Fclose Close Date.y              dumone yindex
   <chr>  <dttm>                <dbl>   <dbl> <dbl> <dttm>               <dbl>  <dbl>
 1 AAAU   2018-08-15 00:00:00 NA      NA       11.8 2018-08-15 00:00:00      1      1
 2 AAAU   2018-08-16 00:00:00  0.0166  0.0025  11.7 2018-08-15 00:00:00      1      2
 3 AAAU   2018-08-17 00:00:00  0.0166  0.0025  11.8 2018-08-15 00:00:00      1      3
 4 AAAU   2018-08-20 00:00:00  0.0166  0.0025  11.9 2018-08-15 00:00:00      1      4
 5 AAAU   2018-08-21 00:00:00 -0.0258  0.045   11.9 2018-08-15 00:00:00      1      5
 6 AAAU   2018-08-22 00:00:00 -0.0273  0.0464  12.0 2018-08-15 00:00:00      1      6

每个股票代码有30天的数据。我想在组中的任何位置找到Fclose> .5的股票行情。但是我只希望Fclose> -.5的那一天,但是组中至少有一条记录的Fclose> .5的所有记录。

我可以毫无问题地执行以下操作:

 bigRates<-subset(newdata7,Fclose>=.5)
 bigRates<-unique(bigRates$Ticker)

newdata7是数据集。最终的bigRates包含行情收录器,其中至少一天中有fclose> .5的行情录入器:

[1] "ADPT"  "ADRO"  "AIMT"  "ANAB"  "APRN"  "AQUA"  "ARD"   "ARLO"  "AVRO"  "BAND"  "BE"    "BEDU"  "BOX"   "BPMP"  "BTAI" 
 [16] 

现在的问题是采用bigRates并使用它沿代码行对newdata7文件进行子集化。问题是bigRates没有代码行名称(也许是错误的类型?),因此可以用来从newdata6中选择数据

我尝试过

 result<-subset(newdata7,Ticker==bigRates)

并收到错误消息:

  

在股票代码== bigRates中:较长的对象长度不是的倍数   物体长度更短

我也尝试过

 bigData <-merge(bigRates,newdata7, by=c("Ticker"), all.x=TRUE)

并收到错误消息

  

fix.by(by.x,x)中的错误:“ by”必须指定唯一有效的列

请注意,bigRates没有列名(它应该起作用,但是在我这样做的时候

colname(bigRates)<-c("Ticker")

我收到错误消息

  

colname(bigRates)中的错误<-c(“ Ticker”):找不到功能   “ colname <-”

0 个答案:

没有答案