首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中向多维列表中添加条目

在R中向多维列表中添加条目
EN

Stack Overflow用户
提问于 2022-06-03 08:57:15
回答 2查看 29关注 0票数 0

我有一个列表,它由多个列表组成。如何将"newentry1""newentry2"条目添加到所有这些多个条目中?所以,对于所有的my_list$Point,我应该有my_list$Point$myentry1my_list$Point$myentry2

代码语言:javascript
复制
my_list <- list(Point = list(position = "1", Production = "98.40", 
                  imbalance_Price.category = "A06"), Point = list(position = "2", 
                                                                  Production = "0.00", imbalance_Price.category = "A06"), 
     Point = list(position = "3", Production = "0.00", 
                  imbalance_Price.category = "A06"), Point = list(position = "4", 
                                                                  Production = "0.00", imbalance_Price.category = "A06"), 
     Point = list(position = "5", Production = "0.00", 
                  imbalance_Price.category = "A06"), Point = list(position = "6", 
                                                                  Production = "188.70", imbalance_Price.category = "A06"))

最后的结果应该是:

代码语言:javascript
复制
my_list <- list(Point = list(position = "1", Production = "98.40", 
                             imbalance_Price.category = "A06",myentry1 = "A", myentry2 = "B"), Point = list(position = "2", 
                                                                             Production = "0.00", imbalance_Price.category = "A06",myentry1 = "A", myentry2 = "B"), 
                Point = list(position = "3", Production = "0.00", 
                             imbalance_Price.category = "A06",myentry1 = "A", myentry2 = "B"), Point = list(position = "4", 
                                                                             Production = "0.00", imbalance_Price.category = "A06",myentry1 = "A", myentry2 = "B"), 
                Point = list(position = "5", Production = "0.00", 
                             imbalance_Price.category = "A06",myentry1 = "A", myentry2 = "B"), Point = list(position = "6", 
                                                                             Production = "188.70", imbalance_Price.category = "A06",myentry1 = "A", myentry2 = "B"))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-03 09:06:15

代码语言:javascript
复制
lapply(my_list, function(Point) {
  Point$myentry1 <- "A"
  Point$myentry2 <- "B"
  Point
})
票数 1
EN

Stack Overflow用户

发布于 2022-06-03 09:18:48

基于purrr::map的另一种可能的解决方案

代码语言:javascript
复制
library(purrr)

map(my_list, ~ append(.x, list(myentry1 = "A", myentry2 = "B")))

#> $Point
#> $Point$position
#> [1] "1"
#> 
#> $Point$Production
#> [1] "98.40"
#> 
#> $Point$imbalance_Price.category
#> [1] "A06"
#> 
#> $Point$myentry1
#> [1] "A"
#> 
#> $Point$myentry2
#> [1] "B"
#> 
#> 
#> $Point
#> $Point$position
#> [1] "2"
#> 
#> $Point$Production
#> [1] "0.00"
#> 
#> $Point$imbalance_Price.category
#> [1] "A06"
#> 
#> $Point$myentry1
#> [1] "A"
#> 
#> $Point$myentry2
#> [1] "B"
#> 
#> 
#> $Point
#> $Point$position
#> [1] "3"
#> 
#> $Point$Production
#> [1] "0.00"
#> 
#> $Point$imbalance_Price.category
#> [1] "A06"
#> 
#> $Point$myentry1
#> [1] "A"
#> 
#> $Point$myentry2
#> [1] "B"
#> 
#> 
#> $Point
#> $Point$position
#> [1] "4"
#> 
#> $Point$Production
#> [1] "0.00"
#> 
#> $Point$imbalance_Price.category
#> [1] "A06"
#> 
#> $Point$myentry1
#> [1] "A"
#> 
#> $Point$myentry2
#> [1] "B"
#> 
#> 
#> $Point
#> $Point$position
#> [1] "5"
#> 
#> $Point$Production
#> [1] "0.00"
#> 
#> $Point$imbalance_Price.category
#> [1] "A06"
#> 
#> $Point$myentry1
#> [1] "A"
#> 
#> $Point$myentry2
#> [1] "B"
#> 
#> 
#> $Point
#> $Point$position
#> [1] "6"
#> 
#> $Point$Production
#> [1] "188.70"
#> 
#> $Point$imbalance_Price.category
#> [1] "A06"
#> 
#> $Point$myentry1
#> [1] "A"
#> 
#> $Point$myentry2
#> [1] "B"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72487130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档