2017-06-27 1 views
1
List of 29 
$ : num [1:2, 1:7] -0.424 1.84 4.125 1.84 2.935 ... 
..- attr(*, "dimnames")=List of 2 
.. ..$ : chr [1:2] "Training set" "Test set" 

result[[1]] 
       ME  RMSE  MAE  MPE  MAPE  MASE 
Training set -0.4238181 4.124630 2.934922 -5.749091 15.25211 0.8298791 
Test set  1.8400343 1.840034 1.840034 10.300856 10.30086 0.5202885 
       ACF1 
Training set -0.0218282 
Test set    NA 

> dput(result) 
list(structure(c(0.513396419391301, -37.8812034057995, 18.8299932348763, 
37.8812034057995, 15.9937453259579, 37.8812034057995, -11.1574789625766, 
-184.084337396461, 29.1724105151215, 184.084337396461, 0.817172411862546, 
1.93547375680242, 0.0818136754061593, NA), .Dim = c(2L, 7L), .Dimnames = list(
c("Training set", "Test set"), c("ME", "RMSE", "MAE", "MPE", 
"MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-22.319971645238, 18.8299932348763, 22.319971645238, 15.9937453259579, 
22.319971645238, -11.1574789625766, -61.7607524011407, 29.1724105151215, 
61.7607524011407, 0.817172411862546, 1.14039986821851, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
27.1904085572912, 18.8299932348763, 27.1904085572912, 15.9937453259579, 
27.1904085572912, -11.1574789625766, 31.7460304729518, 29.1724105151215, 
31.7460304729518, 0.817172411862546, 1.38924631394672, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), 
structure(c(0.513396419391301, 
    53.1089634908355, 18.8299932348763, 53.1089634908355, 15.9937453259579, 
53.1089634908355, -11.1574789625766, 47.6021790380844, 29.1724105151215, 
47.6021790380844, 0.817172411862546, 2.71350949404508, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
14.6193112181759, 18.8299932348763, 14.6193112181759, 15.9937453259579, 
14.6193112181759, -11.1574789625766, 20.0048887135367, 29.1724105151215, 
20.0048887135367, 0.817172411862546, 0.746948107804167, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-1.06040238179536, 18.8299932348763, 1.06040238179536, 15.9937453259579, 
1.06040238179536, -11.1574789625766, -1.84742375550171, 29.1724105151215, 
1.84742375550171, 0.817172411862546, 0.0541794028988392, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
50.7310943575706, 18.8299932348763, 50.7310943575706, 15.9937453259579, 
50.7310943575706, -11.1574789625766, 46.4610981905357, 29.1724105151215, 
46.4610981905357, 0.817172411862546, 2.59201643440696, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
55.0138373829973, 18.8299932348763, 55.0138373829973, 15.9937453259579, 
55.0138373829973, -11.1574789625766, 48.4817807788847, 29.1724105151215, 
48.4817807788847, 0.817172411862546, 2.81083569006907, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
27.3624500366051, 18.8299932348763, 27.3624500366051, 15.9937453259579, 
27.3624500366051, -11.1574789625766, 31.8828547941145, 29.1724105151215, 
31.8828547941145, 0.817172411862546, 1.39803647208205, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
4.75759494704218, 18.8299932348763, 4.75759494704218, 15.9937453259579, 
4.75759494704218, -11.1574789625766, 7.52581852119078, 29.1724105151215, 
7.52581852119078, 0.817172411862546, 0.243080983115921, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-21.5672042430535, 18.8299932348763, 21.5672042430535, 15.9937453259579, 
21.5672042430535, -11.1574789625766, -58.460100899509, 29.1724105151215, 
58.460100899509, 0.817172411862546, 1.10193853592405, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-22.7300084731155, 18.8299932348763, 22.7300084731155, 15.9937453259579, 
22.7300084731155, -11.1574789625766, -63.6171484011973, 29.1724105151215, 
63.6171484011973, 0.817172411862546, 1.16134998195111, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-6.93434513416145, 18.8299932348763, 6.93434513416145, 15.9937453259579, 
6.93434513416145, -11.1574789625766, -13.4582051337587, 29.1724105151215, 
13.4582051337587, 0.817172411862546, 0.354298222366539, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
26.5787861060258, 18.8299932348763, 26.5787861060258, 15.9937453259579, 
26.5787861060258, -11.1574789625766, 31.2551254927233, 29.1724105151215, 
31.2551254927233, 0.817172411862546, 1.35799653577008, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
36.5896815034013, 18.8299932348763, 36.5896815034013, 15.9937453259579, 
36.5896815034013, -11.1574789625766, 38.4955729378816, 29.1724105151215, 
38.4955729378816, 0.817172411862546, 1.86948570669616, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
18.3502949767713, 18.8299932348763, 18.3502949767713, 15.9937453259579, 
18.3502949767713, -11.1574789625766, 23.890603032012, 29.1724105151215, 
23.890603032012, 0.817172411862546, 0.937576189875915, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-6.51749862530565, 18.8299932348763, 6.51749862530565, 15.9937453259579, 
6.51749862530565, -11.1574789625766, -12.547674868192, 29.1724105151215, 
12.547674868192, 0.817172411862546, 0.333000179908321, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
20.0687421145515, 18.8299932348763, 20.0687421145515, 15.9937453259579, 
20.0687421145515, -11.1574789625766, 25.5561206682837, 29.1724105151215, 
25.5561206682837, 0.817172411862546, 1.02537723732407, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
6.01122360728164, 18.8299932348763, 6.01122360728164, 15.9937453259579, 
6.01122360728164, -11.1574789625766, 9.32397573473786, 29.1724105151215, 
9.32397573473786, 0.817172411862546, 0.307132944366376, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
12.7182212474731, 18.8299932348763, 12.7182212474731, 15.9937453259579, 
12.7182212474731, -11.1574789625766, 17.8682910031556, 29.1724105151215, 
17.8682910031556, 0.817172411862546, 0.64981524462136, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
6.99715747218507, 18.8299932348763, 6.99715747218507, 15.9937453259579, 
6.99715747218507, -11.1574789625766, 10.6897760658741, 29.1724105151215, 
10.6897760658741, 0.817172411862546, 0.357507508791413, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
14.8697440743207, 18.8299932348763, 14.8697440743207, 15.9937453259579, 
14.8697440743207, -11.1574789625766, 20.2780871725288, 29.1724105151215, 
20.2780871725288, 0.817172411862546, 0.759743536072824, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
11.879111326578, 18.8299932348763, 11.879111326578, 15.9937453259579, 
11.879111326578, -11.1574789625766, 16.8884927626238, 29.1724105151215, 
16.8884927626238, 0.817172411862546, 0.606942392521939, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-8.12047355873076, 18.8299932348763, 8.12047355873076, 15.9937453259579, 
8.12047355873076, -11.1574789625766, -16.1316044330997, 29.1724105151215, 
16.1316044330997, 0.817172411862546, 0.414901377270531, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
-12.5107370397529, 18.8299932348763, 12.5107370397529, 15.9937453259579, 
12.5107370397529, -11.1574789625766, -27.227651862362, 29.1724105151215, 
27.227651862362, 0.817172411862546, 0.63921420233948, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
8.10859725045342, 18.8299932348763, 8.10859725045342, 15.9937453259579, 
8.10859725045342, -11.1574789625766, 12.1809274700972, 29.1724105151215, 
12.1809274700972, 0.817172411862546, 0.414294578094901, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
8.74673451746508, 18.8299932348763, 8.74673451746508, 15.9937453259579, 
8.74673451746508, -11.1574789625766, 13.0147894156911, 29.1724105151215, 
13.0147894156911, 0.817172411862546, 0.446899084353792, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
28.2300570740269, 18.8299932348763, 28.2300570740269, 15.9937453259579, 
28.2300570740269, -11.1574789625766, 32.5645862171677, 29.1724105151215, 
32.5645862171677, 0.817172411862546, 1.44236533445103, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1"))), structure(c(0.513396419391301, 
14.0381287176184, 18.8299932348763, 14.0381287176184, 15.9937453259579, 
14.0381287176184, -11.1574789625766, 19.3636010547358, 29.1724105151215, 
19.3636010547358, 0.817172411862546, 0.717253605607607, 0.0818136754061593, 
NA), .Dim = c(2L, 7L), .Dimnames = list(c("Training set", "Test set" 
), c("ME", "RMSE", "MAE", "MPE", "MAPE", "MASE", "ACF1")))) 

Je veux extraire des valeurs de Training set et Test set à partir d'une liste dans une trame de données tout en conservant les noms de colonnes comme indiqué.valeurs DEGAGER Liste des Liste dans la trame de données

Il pourrait être Training set et Test set pourrait être les noms de colonnes et d'autres variables telles que les lignes du train et de test comme long format dans R, par exemple ME, RMSE, MAE, MPE, MAPE, etc.

+1

'data.frame (t (résultat $ num))'? Vous devez éditer avec vos données présentées dans le format retourné par 'dput (result)' donc [votre exemple est reproductible] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r -reproducible-exemple # 5963610). – alistaire

+0

merci pour la réponse. répondre jeter un oeil j'ai changé le profil – user3459293

Répondre

0

Il existe différents des moyens est à portée de main pour ce faire, mais purrr (partie du tidyverse):

library(tidyverse) 

df_result <- result %>% 
    map(as.data.frame) %>% # convert each matrix to data.frame 
    # add rownames of data.frames as column; simplify all to one data.frame 
    # with an ID column with which list element it came from 
    map_df(rownames_to_column, 'subset', .id = 'element') %>% 
    tbl_df() # for pretty printing 

df_result 
#> # A tibble: 58 x 9 
#> element  subset   ME  RMSE  MAE  MPE  MAPE  MASE  ACF1 
#>  <chr>  <chr>  <dbl> <dbl> <dbl>  <dbl>  <dbl>  <dbl>  <dbl> 
#> 1  1 Training set 0.5133964 18.82999 15.99375 -11.15748 29.17241 0.8171724 0.08181368 
#> 2  1  Test set -37.8812034 37.88120 37.88120 -184.08434 184.08434 1.9354738   NA 
#> 3  2 Training set 0.5133964 18.82999 15.99375 -11.15748 29.17241 0.8171724 0.08181368 
#> 4  2  Test set -22.3199716 22.31997 22.31997 -61.76075 61.76075 1.1403999   NA 
#> 5  3 Training set 0.5133964 18.82999 15.99375 -11.15748 29.17241 0.8171724 0.08181368 
#> 6  3  Test set 27.1904086 27.19041 27.19041 31.74603 31.74603 1.3892463   NA 
#> 7  4 Training set 0.5133964 18.82999 15.99375 -11.15748 29.17241 0.8171724 0.08181368 
#> 8  4  Test set 53.1089635 53.10896 53.10896 47.60218 47.60218 2.7135095   NA 
#> 9  5 Training set 0.5133964 18.82999 15.99375 -11.15748 29.17241 0.8171724 0.08181368 
#> 10  5  Test set 14.6193112 14.61931 14.61931 20.00489 20.00489 0.7469481   NA 
#> # ... with 48 more rows 

Si vous souhaitez que les données sous forme longue, transposent:

df_t_result <- result %>% 
    map(t) %>% # transpose each matrix 
    map(as.data.frame) %>% 
    map_df(rownames_to_column, 'stat', .id = 'element') %>% 
    set_names(~gsub('\\s', '_', .x)) %>% # make names syntactic 
    tbl_df() 

df_t_result 
#> # A tibble: 203 x 4 
#> element stat Training_set Test_set 
#>  <chr> <chr>   <dbl>  <dbl> 
#> 1  1 ME  0.51339642 -37.881203 
#> 2  1 RMSE 18.82999323 37.881203 
#> 3  1 MAE 15.99374533 37.881203 
#> 4  1 MPE -11.15747896 -184.084337 
#> 5  1 MAPE 29.17241052 184.084337 
#> 6  1 MASE  0.81717241 1.935474 
#> 7  1 ACF1  0.08181368   NA 
#> 8  2 ME  0.51339642 -22.319972 
#> 9  2 RMSE 18.82999323 22.319972 
#> 10  2 MAE 15.99374533 22.319972 
#> # ... with 193 more rows 
+0

Salut, Désolé de vous déranger. Même si vous avez un exemple de sortie pour les données sous forme longue. cependant j'obtiens erreur cette erreur "Erreur:' x' et 'nm' doivent avoir la même longueur". merci d'avance – user3459293

+0

Oh, ça vient de 'purrr :: set_names'. À un certain moment, il a été mis à jour pour accepter les fonctions, mais je ne suis pas sûr que ce soit sur la version CRAN pour le moment. Vous pouvez mettre à jour vers [la version devel] (https://github.com/tidyverse/purrr/), ou le remplacer par un appel explicite, par ex. 'set_names (gsub ('\\ s', '_', noms (.)))' (qui utilise la syntaxe 'setNames'). Ou simplement l'omettre et les réparer plus tard. – alistaire