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

R语言如何将dataframe转换为指定结构的list列表

R 数据框转指定结构列表的实现方法

基础R实现(无需额外安装包)

直接使用基础自带的lapply函数即可完成转换,代码如下:

# 构造示例数据框
a<-data.frame(country = rep(c("Africa", "Asia","Europe"), length.out=9),
              Year = rep(1987:1989, each=3),
              GDP = (1:9),
              GNP=(11:19),
              PPP=(21:29))

# 确定需要拆分的指标列名
target_cols <- c("GDP", "GNP", "PPP")
# 遍历生成目标列表
result <- lapply(target_cols, function(col) {
  a[, c("country", "Year", col)]
})

执行后输出的result就是你要求的结构。如果需要给列表的每个元素命名方便后续调用,可以补充一行代码:

names(result) <- target_cols

命名后可直接通过result$GDP的方式调取对应子数据框。

tidyverse生态实现(适配dplyr/purrr使用习惯)

如果你日常使用tidyverse系列工具,也可以用map函数实现相同逻辑:

library(purrr)
library(dplyr)

target_cols <- c("GDP", "GNP", "PPP")
result <- map(target_cols, ~select(a, country, Year, all_of(.x)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:09:04