2016-03-26 31 views
-1

200 CSV dosyam var ve sadece 50 dosya yüklemek istiyorum. Zaten bu fonksiyonu ettirdiniz: dizinine Path sağlanması üzerineBelirtilen sayıda CSV dosyasını yükleme sayısı R

fl <- list.files(directory, pattern = "*.csv", full.names = TRUE) 

, yukarıdaki fonksiyon yükler dizindeki tüm dosyaları.
Programın yürütme süresini en aza indirgemek için belirli sayıda dosyayı yüklememe yardımcı olan alternatifleri var mı?

cevap

1

yalnızca ilk 50 dosyaları okumak gerekirse, 'fl' vectorhead kullanarak ve sonra ben kendi sorunu yanlış lapply

fl1 <- head(fl,50) 
lst <- lapply(fl1, read.csv, header=TRUE) 
+0

ile list dosyaları okumak alt küme, Gerçek yüklenirken sorun olduğunu belirtilen dosya sayısı belleğe. –

+0

@ViralParmar 'list.files' kullanarak, sadece dosyaların isimlerini bir dize olarak elde edersiniz. Bahsettiğiniz türden bir problem oluşturmak için dizinde 1e7 dosyanız var mı bilmiyorum. Belirtilen dosya sayısının okunması sadece "lapply" adımında gerçekleşir. Read.csv' biraz fazla ise, 'lapply (fl1, fread)' 'library (data.table)' yüklendikten sonra daha verimli olabilir '' – akrun

+0

Teşekkür ederiz! ve kod şimdi düzgün çalışıyor! –