2017-08-30 2 views
0

J'ai essayé de décomposer une trame de données en différentes variables nommées d'après le titre de chaque colonne.La même sortie dans toutes les variables dans RStudio

Le code ci-dessous exécute la décomposition pour toutes les colonnes, mais le même résultat est généré dans toutes les variables créées. Je pense que quelque chose ne va pas avec le « pour (j colnames (df) » commande, mais je ne peux pas comprendre ce que.

for (i in 1:ncol(df)) 
{ 
    x <- (i) 
    for(j in colnames(df)){ 
    assign(j,(stl(df[,x], s.window="periodic"))) 
    } 
} 

Le df est structuré comme une table de séries temporelles, chaque colonne a un nom et une série de prix.

Serie1

janvier 2007 10,44

février 2007 5.75

mars 2007 6,52

avril 2007 13,90

mai 2007 12,25

juin 2007 7,37

juillet 2007 3,51

Répondre

0

Hope this helps!

#sample data 
df <- data.frame(col1 = c(100:65), col2 = c(1:36)) 

stl_df <- list() 
for(i in 1:ncol(df)){ 
    #convert column's data into timeseries data 
    tsData = ts(df[,i],frequency = 12,start=2007) 
    #calculate 'stl' and store it in a list 
    stl_df[colnames(df)[i]] <- stl(tsData,s.window="periodic") 
} 
stl_df 
+0

Ça marche maintenant, merci !!! – user3408750

+0

Heureux que cela a aidé! – Prem