Her tarih için seçenekler bilgisi içeren bir veri çerçevem var. Her tarih grev fiyatlarının değişen aralığına tekabül birden fazla satır var ben 216 tarihleri varR: Veri Çerçevesini Bölün, sonra yapın: her bir bölme üzerindeki her işlev (sıralama)
head(df)
Date C/P K Vol Delta ID
1 01/23/1997 0 805 0.155814 0.234181 10007288
2 01/23/1997 1 790 0.159603 -0.609276 10333499
3 01/23/1997 0 815 0.141776 0.132414 10106825
4 01/23/1997 1 700 0.257233 -0.060976 10012499
5 01/23/1997 1 680 0.279465 -0.035616 10072595
6 01/23/1997 0 730 0.197782 0.888286 10307920
ve her tarih 100-300 satırları, her grev fiyata birine sahiptir. Veri çerçevesini tarihe göre bölmek istiyorum ve her bir tarih çerçevesi için, C/P birincil sıralama anahtarı ve K ikincil sıralama anahtarı olarak kullanın.
Plyr paketi kullanılacak mı? Bölünmüş (df, df $ Date) denedim ancak her bir bölünmüş veri çerçevesine bir sıralama işlevi uygulama konusunda herhangi bir belge bulamıyorum. birinci ve ikinci tür ile
, yani:
Input:
C/P K Vol Delta
0 800 0.1 0.11
1 800 0.2 0.22
1 700 0.3 0.33
0 700 0.4 0.44
1 900 0.5 0.55
1 600 0.6 0.66
0 600 0.7 0.77
0 900 0.8 0.88
Output:
C/P K Vol Delta
0 600 0.7 0.77
0 700 0.4 0.44
0 800 0.1 0.11
0 900 0.8 0.88
1 600 0.6 0.66
1 700 0.3 0.33
1 800 0.2 0.22
1 900 0.5 0.55
'lapply (split (df, df $ Date) işlevini kullanabilirsiniz (x) x [order (x [[" C/P "]], x [[" K "]]),])' Beklenen çıktıyı gösterirseniz daha bilgilendirici olurdu. BTW, veri kümesini “bölmek” zorunda değilsiniz. Bu daha kolay yapılabilir "data.table/dplyr" ie'setDT (df) [order ("C/P", K), .SD, by = Tarih] '' C/P' sütun adı biraz sorunlu. – akrun
df [order (df $ Date, df $ 'C/P'),] 'gibi bir şey var mı? – JeremyS
Lütfen gösterilen örnekte alacağınız tahmini çıkışı kullanın. – akrun