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"))))
我想从列表中将Training set
和Test set
的值提取到数据框中,同时保留列名,如图所示。
可能Training set
和Test set
可能是列名和其他变量,如火车和测试的行,如R中的长格式,例如ME
,RMSE
, MAE
,MPE
,MAPE
等
答案 0 :(得分:0)
有不同的方法可以做到这一点,但是purrr(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
如果您想要长格式的数据,请转置:
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