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

如何通过循环将字符向量生成的变量存入列表?

问题解决方法

你之前的循环存在两个核心问题:

  • 每次循环都直接重新赋值names_list,最终只会保留最后一次循环的结果;
  • paste0("name_", i)生成的是变量名的字符串,而非变量存储的城市名称实际值。

修正循环写法

先初始化空列表,循环时用get()函数获取对应变量的实际值,再添加到列表对应位置:

# 初始化空列表
names_list <- list()

for (i in 1:2) {
  # 通过变量名字符串获取实际值,存入列表
  names_list[[i]] <- get(paste0("name_", i))
}

更高效的替代方案

其实完全不需要先创建name_1、name_2这类单独变量,直接从原向量生成列表更简洁:

# 直接将原向量转为列表
names_list <- as.list(names)

# 如果需要给列表元素命名(对应原逻辑中的name_1、name_2),可使用setNames
names_list <- setNames(as.list(names), paste0("name_", 1:2))

内容的提问来源于stack exchange,提问作者marc.th

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:38:27