r - 将列表转换为所需的结构化数据框
问题描述
我尝试了自己的方式,并且成功地将其转换为结构化数据框。但我正在寻找一种有效的方法。
是)我有的 :
df <- structure(list(cosine = structure(c(5, 10, 20, 0.821125674737054,
0.820584021682407, 0.818784175213887, 1.02581587604008, 1.02509431944765,
1.02307664820754), .Dim = c(3L, 3L), .Dimnames = list(NULL, c("nn",
"MAE", "RMSE"))), pearson = structure(c(5, 10, 20, 0.812128346301661,
0.809514288963746, 0.805891663287308, 1.01707402319237, 1.01404764325875,
1.00991824600438), .Dim = c(3L, 3L), .Dimnames = list(NULL, c("nn",
"MAE", "RMSE"))), adjcos = structure(c(5, 10, 20, 0.767064143922509,
0.755128645946231, 0.752496198186588, 0.978331072924123, 0.963633899712655,
0.959829138319945), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("nn", "MAE", "RMSE")))), .Names = c("cosine", "pearson",
"adjcos"))
> df
#> $cosine
#> nn MAE RMSE
#> [1,] 5 0.8211257 1.025816
#> [2,] 10 0.8205840 1.025094
#> [3,] 20 0.8187842 1.023077
#>
#> $pearson
#> nn MAE RMSE
#> [1,] 5 0.8121283 1.017074
#> [2,] 10 0.8095143 1.014048
#> [3,] 20 0.8058917 1.009918
#>
#> $adjcos
#> nn MAE RMSE
#> [1,] 5 0.7670641 0.9783311
#> [2,] 10 0.7551286 0.9636339
#> [3,] 20 0.7524962 0.9598291
我想要的是:
#> Method nn MAE RMSE
#> cosine 5 0.821125674737054 1.02581587604008
#> cosine 10 0.820584021682407 1.02509431944765
#> cosine 20 0.818784175213887 1.02307664820754
#> pearson 5 0.812128346301661 1.01707402319237
#> pearson 10 0.809514288963746 1.01404764325875
#> pearson 20 0.805891663287308 1.00991824600438
#> adjcos 5 0.767064143922509 0.978331072924123
#> adjcos 10 0.755128645946231 0.963633899712655
#> adjcos 20 0.752496198186588 0.959829138319945
谢谢!
解决方案
您可以使用.id参数bind_rows
根据列表的元素名称创建一个新列。输出将是一个带有标识符额外列的折叠数据框。
dplyr::bind_rows(df, .id = "Method")
推荐阅读
- javascript - 如何使我的应用程序的一个组件重新加载,同时保持我的其余组件不重新加载?
- javascript - 为什么 Redux reducer 上的计时器会帮助触发重新渲染
- python - 我想在 matplotlib 热图的列之间添加额外的空间,我该怎么做?
- here-api - Here-API:如何找到两个位置之间的空中和道路距离?
- reactjs - 尝试导入错误:“Outlet”未从“react-router-dom”导出
- flutter - Flutter Firestore 查询。我需要从特定索引开始显示订单列表
- reactjs - 如何在反应钩子中更改其他选项时更新一个选择选项
- java - 一个 Spring Boot 微服务如何知道它如何将 POST 发送到另一个服务?
- python - PynamoDB 单表设计 OrgsAndUsers
- python-3.x - 如何使 Tkinter Text 小部件只读某些字符和句子