2016-03-22 17 views
0

Benim Sorunu tekrar sıralar sabit sayıda dayalı küçük alt kümelerini nasıl yapılır:dataframe üzerinde

  1. için 512000 gözlemler vardır: Ben gözlemler 86016000 satır oluşan bir dataframe var

    her saat

  2. yedi gün
  3. Yani 24*7*512000 = 86016000
  4. t 24 saat veri yoktur Burada 40 sütun (değişken)
  5. Tarih veya datetimestamp sütun yok
  6. Sadece satır numaraları kaç tane engel belirlemek için yeterlidir. Her gün için, bu verilerin kaydedilmesinde hata yoktur. Böyle büyük bir veri kümesi Verilen

, ne yapmak istiyorum her günün alt küme 7 var ki, 12288000 (yani 24 * 512000) satırların alt kümelerini oluşturmaktır.

Denedim Ne: hiçbir sonuç olarak Ama ne yazık ki sonra neredeyse yarım saat, ben süreci termicated

d <- split(PltB_Fold3_1_Data, rep(1:12288000, each=7)) 

.

Yukarıdakilerden daha iyi bir çözüm var mı?

+0

Bu kadar fazla veriyle, dilimin bir başka kopyasını yapmak istemem. Muhtemelen sadece df [1: 12288000,] ' – cory

+0

Thanks @cory kullanarak ilgilenen alt kümesiyle çalışacağım. Burada öneride sadece sorun tekrar edemez ve 7 alt kümeleri, yani altset1 = 1 - 12288000 satır, altset2 = 12288001 - 24576000 satır ve benzeri olamaz. –

cevap

1

Muhtemelen rep yerine seq'u arıyorsunuz. seq ile, 0 ile 86016000 arasında bir sayı dizisi oluşturarak 12288000 tarafından artırılabilir.

Kaynakları kaydetmek için, bu veriyi geçici veri çerçeveleri oluşturmak ve her biri ile ne yapmak isterseniz kullanabilirsiniz.

sequence <- seq(from = 0, to = 86016000, by = 12288000) 

for(i in 1:(length(sequence)-1)){ 
    temp <- df[sequence[i]+1:sequence[i+1], ] 
    # do something here with your temporary data frame 
} 
+0

Öneriniz için @edomt çok teşekkürler. küçük bir tweeking ile çalışır. –