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

如何在R语言中通过循环创建exp_1、exp_2两个新变量?

循环创建exp_1、exp_2变量的正确写法

你原来的循环里,每次都把结果赋值给固定的exp_i变量,所以循环结束后只会留下最后一次计算的结果,变量名也不会自动变成exp_1或exp_2。要实现动态命名变量,确实需要结合paste(或paste0)和assign函数,写法如下:

基础写法(创建全局变量)

for (i in 1:2) {
  # 动态生成变量名:exp_1、exp_2
  var_name <- paste0("exp_", i)
  # 将计算结果赋值给对应变量
  assign(var_name, (edad - esc - 6)^i)
}

paste0是paste的简化版,默认分隔符为空,比paste("exp_", i, sep = "")更简洁。运行这段代码后,你就能得到exp_1和exp_2两个变量,和你期望的结果一致。

更规范的写法(给数据框添加列)

如果你的edad和esc是数据框里的列,更建议直接在数据框中新增列,避免创建过多全局变量:

# 假设数据框名为df
for (i in 1:2) {
  df[[paste0("exp_", i)]] <- (df$edad - df$esc - 6)^i
}

用df[[变量名字符串]]的方式可以直接给数据框添加新列,代码更整洁,也方便后续数据处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:12:03