2017-02-20 13 views
0

フォーラムに投稿されたリソースを利用して、ファイルをxtsクラスのオブジェクトに変換するスクリプトを作成することができました。しかし、これはそれらのオブジェクトのリストです。最終的には、これらのファイルを別々のオブジェクトxtsに変換したいと考えています。私はスクリプトの変更をそれぞれ別々のオブジェクトとして登場させる必要があります。それぞれはxtsクラスですか?xtsのリストを別々のオブジェクトに分割する

スクリプトがあります:

files <- list.files(pattern="*.mst") 
listmst <- vector("list", length(files)) 
names(listmst)<- files 
for (i in 1:length(files)) { 
    temp <- read.zoo(files[i], sep=",", header=TRUE, 
        index.column=1, format="%Y%m%d", tz="", 
        colClasses = rep(c("NULL","character", "numeric"), c(1,1,5))) 
    listmst[[files[i]]]<- as.xts(temp) 
} 
rm(temp,files) 

tranformするCSVファイル: https://www.dropbox.com/s/paql3y0gm5gve3z/pourek.rar?dl=0

答えて

0

あなたはシンボル名を持つオブジェクトを作成するためにassignのようなものを使用する必要がありますが。たとえば:Rオブジェクトはで始まるので、今の数で始まるすべてのシンボルは、「X」で始まることを

R> ls() 
[1] "ABPL"  "AILLERON" "ALIOR"  "ALMA"  "ALTA"  
[6] "ALTERCO" "files"  "KREDYTIN" "KREZUS"  "KRKA"  
[11] "KRUK"  "KRUSZWICA" "MABION"  "MAKARONPL" "MANGATA" 
[16] "MARVIPOL" "MASTERPHA" "MBANK"  "MBWS"  "MCI"  
[21] "MCLOGIC" "MDIENERGIA" "MEDIACAP" "MEDIATEL" "X11BIT"  
[26] "X4FUNMEDIA" 
R> head(ABPL) 
      OPEN HIGH LOW CLOSE VOL 
2006-09-21 11.54 12.19 11.50 11.70 844641 
2006-09-22 11.69 11.69 11.25 11.60 53033 
2006-09-25 11.49 11.83 11.49 11.83 125607 
2006-09-26 11.90 12.05 11.90 12.04 104956 
2006-09-27 12.09 12.09 11.70 11.95 69062 
2006-09-28 11.70 12.00 11.65 12.00 37466 

注:

files <- list.files(pattern = "*.mst") 
for (f in files) { 
    # Create symbol from file name 
    Symbol <- gsub("\\.mst", "", basename(f)) 
    # Ensure it's a valid R name 
    Symbol <- make.names(Symbol) 
    # Read data from file 
    temp <- read.zoo(f, sep=",", header=TRUE, format="%Y%m%d", tz="", 
        colClasses = rep(c("NULL","character", "numeric"), c(1,1,5))) 
    # Clean up column names 
    colnames(temp) <- gsub("^X\\.|\\.$", "", colnames(temp)) 
    # Create object named `symbol` containing data from `temp` 
    assign(Symbol, as.xts(temp)) 
} 
rm(Symbol, temp, f) 

は、今すぐあなたのワークスペースで、これを見るべきです数字は「構文的に有効」ではありません。

+0

これは私が検索した結果とまったく同じです。コードを完全に理解するまでには数日かかります。どうもありがとう 。 –

関連する問題