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

如何用lapply实现动态生成与向量元素同名的变量?

用lapply替代for循环生成同名变量

你原代码里有两处问题:一是变量名写错了,columns_to_consider应该对应你定义的columns_s;二是当前函数里的i=i只是在函数内部赋值,不会把变量暴露到全局环境。要实现自动生成与元素同名且值为自身的变量,得用assign()函数把变量绑定到全局环境,具体代码如下:

columns_s <- c("kingdom", "family")   ## 用户可向向量中添加更多元素
lapply(
  columns_s,
  FUN = function(i){
    assign(i, i, envir = .GlobalEnv)
  })

运行这段代码后,在控制台调用变量就能得到你要的结果:

> kingdom
[1] "kingdom"

> family
[1] "family"

后续如果给columns_s添加新元素(比如columns_s <- c(columns_s, "genus")),再运行这段lapply代码,就会自动生成genus变量,值为"genus"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:50:27