从数据框中的列表列表中提取值

用户3459293
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 setTest set从列表中提取到数据框中,同时保留如图所示的列名。

这可能是Training setTest set可能是列名和其他变量像R中长格式,例如训练和测试的行MERMSEMAEMPEMAPE,等。

阿利斯泰尔

有不同的方法可以做到这一点,但 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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据列表列表的标识符从数据框中提取值

来自分类Dev

从OCaml中的列表列表中提取值

来自分类Dev

从OCaml中的列表列表中提取值

来自分类Dev

从列表列表中提取元素,并将其分配为pandas数据框列中的值

来自分类Dev

基于列表从数据框中提取值作为字典

来自分类Dev

如何从列表框中的按钮中提取值?

来自分类Dev

使用R从列表列表中提取值

来自分类Dev

使用R从列表列表中提取值

来自分类Dev

从列表中提取值和属性,并将它们转换为R中的数据框

来自分类Dev

从summary(aov())的嵌套列表中提取值到数据框中

来自分类Dev

R从多个列表中的每个数据框中提取值

来自分类Dev

从python中的表列表中提取列

来自分类Dev

从列表中的字典中提取值

来自分类Dev

从列表中的数据框中提取不同的行集

来自分类Dev

从嵌套列表中包含的数据框中提取两列

来自分类Dev

如何从Haskell中的列表列表中提取元组

来自分类Dev

如何从R中的列表列表中提取元素?

来自分类Dev

从python中的列表列表中提取整数

来自分类Dev

如何从Haskell中的列表列表中提取元组

来自分类Dev

从R中的列表列表中提取元素?

来自分类Dev

仅从python中的列表列表中提取相关信息

来自分类Dev

熊猫从数据框中提取列表

来自分类Dev

从熊猫数据框列中提取列表

来自分类Dev

从列表Python中提取值

来自分类Dev

从字典列表中提取值

来自分类Dev

如何提取列表列表中所有列表的行名并将其存储在新的数据框或列表中

来自分类Dev

从from列表中提取值列表

来自分类Dev

从列表和空数据框列表中提取元素

来自分类Dev

从列表中提取数据

Related 相关文章

热门标签

归档