2017-06-27 7 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")))) 

möchte ich Werte von Training set und Test set aus einer Liste in einen Datenrahmen extrahieren, während die Spaltennamen zu bewahren, wie dargestellt.Extrahieren von Werten aus Liste der Liste in Datenrahmen

Es könnte Training set sein und Test set könnte Spaltennamen und andere Variablen als Reihen des Zuges und Test wie lange Format in R, zB ME, RMSE, MAE, MPE, MAPE usw.

+1

'data.frame (t (Ergebnis $ num))'? Sie müssen mit Ihren Daten bearbeiten, die in dem von 'dput (result)' zurückgegebenen Format angezeigt werden, damit [Ihr Beispiel ist reproduzierbar] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r -reproducible-Beispiel # 5963610). – alistaire

+0

danke für die antwort. antwort schau mal ich habe das Profil geändert – user3459293

Antwort

0

Es sind verschiedene Möglichkeiten, dies zu tun, aber purrr (Teil des tidyverse) ist praktisch:

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 

Wenn Sie die Daten in lang~~POS=TRUNC wollen, transponieren:

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

Hallo, Entschuldigen Sie die Störung. Obwohl Sie eine Beispielausgabe für die Daten in langer Form haben. aber ich erhalte diesen Fehler "Fehler:' x' und 'nm' müssen die gleiche Länge haben". danke im voraus – user3459293

+0

Oh, das ist von 'purrr :: set_names'. Irgendwann wurde es aktualisiert, um Funktionen zu akzeptieren, aber ich bin mir nicht sicher, ob das noch in der CRAN-Version ist. Sie können auf die [devel-Version] (https://github.com/tidyverse/purrr/) aktualisieren oder sie durch einen expliziten Aufruf ersetzen, z. 'set_names (gsub ('\\ s', '_', Namen (.)))' (die 'setNames' Syntax verwendet). Oder lass es einfach weg und repariere sie später. – alistaire

Verwandte Themen