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

如何修改R代码实现多个n值批量运行生成对应expand.grid结果

R多n值批量运行代码解决方案

错误原因

  • 你写的n = [2:8]不符合R语法:R中生成2到8的连续整数向量直接使用2:8即可,不需要加方括号包裹
  • expand.grid的输入参数要求单次计算的n是单个正整数值,不能直接传入长度大于1的向量,需要遍历n的每个取值分别计算

正确实现代码

方案1:lapply写法(R惯用简洁风格)

运行后所有结果会存在列表中,每个列表元素对应一个n的计算结果:

# 定义所有需要计算的n取值
n_values <- 2:8
# 遍历每个n分别运行逻辑,结果存储为列表
funs_list <- lapply(n_values, function(n) {
  expand.grid(rep(list(1:10), n))
})
# 给列表元素命名,方便后续调用
names(funs_list) <- paste0("n_", n_values)

调用示例:如果要提取n=3的运行结果,直接使用funs_list[["n_3"]]即可。

方案2:for循环写法(逻辑更直观)

n_values <- 2:8
funs_list <- list()
for (i in seq_along(n_values)) {
  current_n <- n_values[i]
  funs_list[[i]] <- expand.grid(rep(list(1:10), current_n))
}
names(funs_list) <- paste0("n_", n_values)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:36:04