You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中高效操作不规则嵌套列表内容

需求:优雅处理不规则嵌套的汽车零部件列表

我现在在处理一个包含汽车零部件数据的嵌套列表,示例代码如下:

Partslist                   <- setNames(list(setNames(vector(mode="list", 5),  paste("L", 3, "_",c("type", "year", "parts available", "last update", "make"), sep=""))), "Partslist")
Partslist$Partslist$L3_make <- setNames(vector(mode="list", 2),  c("BMW", "Toyota"))

Partslist$Partslist$L3_make$BMW$Engine    <-setNames(vector(mode="list", 6),  c("L1_type", "L1_year", "L1_parts available", "L1_last update", "L1_components", "L1_status"))
Partslist$Partslist$L3_make$BMW$Powertrain<-setNames(vector(mode="list", 6),  c("L1_type", "L1_year", "L1_parts available", "L1_last update", "L1_components", "L1_status"))
Partslist$Partslist$L3_make$Toyota$Engine <-setNames(vector(mode="list", 6),  c("L1_type", "L1_year", "L1_parts available", "L1_last update", "L1_components", "L1_status"))
Partslist$Partslist$L3_make$Toyota$other  <-setNames(vector(mode="list", 6),  c("L1_type", "L1_year", "L1_parts available", "L1_last update", "L1_components", "L1_status"))

核心挑战在于这个列表结构不规则,无法预先知晓各个分支的嵌套深度。我需要一种可扩展的方法来选择和操作嵌套列表各层级的数据,比如更新价格、数量等字段。

目前我想到一个虽易实现但不够优雅的方案:构造操作的字符串表达式,再使用eval(parse(text=""))执行,示例如下:

target.string <- "Autoparts$L3_make$BMW$L2_components$Engine§L1_type" 
parts.data<-"hybrid 3i"

eval(parse(text=paste("target.string", "<-", parts.data, sep="")))

但我不想采用这种方式,希望得到更优的解决方案。


内容的提问来源于stack exchange,提问作者Allrounder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:23:28