2016-01-21 113 views
0

我在一個文件夾中有7個.csv文件(每個代表一個位置 - Site1,Site2,Site3 ... Site7),每個.csv文件包含5列:ID,月份,年份,物種(大約30個級別;不同物種),值(1,2,3,4 - 每個數字代表開花強度)。我不想將所有文件合併在一起,因爲它們包含不同的物種和ID,但是我想要應用相同的代碼,進行大量剪切,插值併爲所有文件創建一個時間序列的命名列表。最後,代碼給出了每個物種的時間序列列表。目前,我創建了一個只能應用於一個站點的代碼。如何在R中循環多個.csv文件?

data_list <- list() #create a list to fill in later 

for(sp in levels(Site1$Species)){ 
    dat.sp <- Site1[Site1$Species == sp,] # Distinguish between all Species 

    tree_list <- list() 

    for (i in unique(dat.sp$ID)){ 

    other bit of code that cuts the data, 
    interpolates it and makes it as time 
    series. 


    data_list[[sp]]<-tree_list 

我應該如何創建循環來爲每個站點運行相同的代碼?

+1

'lapply()'在文件名的向量上有一個函數,該函數用於構造結果的一個文件。 'lapply()'的結果是結果列表。 – jogo

+1

http://stackoverflow.com/questions/23853698/read-csv-as-list-from-multiple-folders?rq=1或http://stackoverflow.com/questions/20425967/load-few-csv-files從同一個文件夾?rq = 1 – jogo

+0

[打開文件夾中的所有文件並應用函數]可能的重複(http://stackoverflow.com/questions/9564489/opening-all-files-in-一個文件夾,並施加-A-功能) – scoa

回答

0

你不需要R這個。

Command line solution. 

Make sure that no file contains a header 
Open command line (cmd) 
Enter correct directory (cd C:\yourdirectory) 
Write (copy *.csv allcsvsmerged.csv)