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"))))
I want to extract values of Training set
and Test set
from a list into a data frame while preserving the column names as shown.
It could be Training set
and Test set
could be column names and other variables as rows of the Train and Test like long format in R, eg ME
, RMSE
, MAE
, MPE
, MAPE
, etc.
There are different ways to do this, but purrr (part of the tidyverse) is handy:
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
If you want the data in long form, transpose:
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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.