2017-11-15 17 views
0

Identと呼ばれるデータフレームがRにあります。特定のテキストに日付を割り当てるR

 Date coredata.Ident. 
1 2017-09-01   <NA> 
2 2017-09-03   <NA> 
3 2017-09-04   <NA> 
4 2017-09-05    0 
5 2017-09-06    0 
6 2017-09-07    0 
7 2017-09-08    0 
8 2017-09-10    0 
9 2017-09-11   Doji 
10 2017-09-12   <NA> 
11 2017-09-13    0 
12 2017-09-14 Bull.Engulfing 
13 2017-09-15    0 
14 2017-09-17    0 
15 2017-09-18 Bear.Engulfing 
16 2017-09-19   Doji 
17 2017-09-20 Bear.Engulfing 
18 2017-09-21 Bull.Engulfing 
19 2017-09-22    0 
20 2017-09-24    0 
21 2017-09-25 Bear.Engulfing 
22 2017-09-26    0 
23 2017-09-27    0 
24 2017-09-28    0 
25 2017-09-29    0 
Bull.Engulfingの全ては日が割り当てられているようにするため DateSelect1と呼ばれる変数に Bull.Engulfingした後、第2 Bull.EngulfingDateSelect2などに割り当てられるがあり、その後、私は次の日付を割り当てたい

この例では、2017-09-14行12にBull.Engulfingがあるため、DateSelect1は、次の行であるため、2017-09-15である必要があります。これが理にかなってほしい。

注サブセットにデータフレームを入力すると仮定すると、TIA

+2

ご覧になりたいサンプルを含めることができますか?説明から、あなたが求めている結果がわかりません。 –

答えて

0

変数にそのサブセット内の各日付を割り当てる:

dates <- as.Date(subset(DF, coredata.Ident. == "Bull.Engulfing")$Date) 
for(i in seq_along(dates)) assign(paste0("DateSelect", i), dates[i]) 

DateSelect1 
## [1] "2017-09-14" 
DateSelect2 
## [1] "2017-09-21" 

注:再現可能な形で入力される。

Lines <- " 
     Date coredata.Ident. 
1 2017-09-01   <NA> 
2 2017-09-03   <NA> 
3 2017-09-04   <NA> 
4 2017-09-05    0 
5 2017-09-06    0 
6 2017-09-07    0 
7 2017-09-08    0 
8 2017-09-10    0 
9 2017-09-11   Doji 
10 2017-09-12   <NA> 
11 2017-09-13    0 
12 2017-09-14 Bull.Engulfing 
13 2017-09-15    0 
14 2017-09-17    0 
15 2017-09-18 Bear.Engulfing 
16 2017-09-19   Doji 
17 2017-09-20 Bear.Engulfing 
18 2017-09-21 Bull.Engulfing 
19 2017-09-22    0 
20 2017-09-24    0 
21 2017-09-25 Bear.Engulfing 
22 2017-09-26    0 
23 2017-09-27    0 
24 2017-09-28    0 
25 2017-09-29    0" 
DF <- read.table(text = Lines) 
関連する問題