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

在R语言中基于重复向量生成含递增倍数列的数据框

解决方案

直接用R的向量运算结合sapply就能高效实现,不需要复杂循环:

# 初始化V1
V1 <- rep(10000, 10973)
# 设置目标列数
target_cols <- 17
# 生成所有列并转为数据框
result_df <- as.data.frame(sapply(1:target_cols, function(multiplier) V1 * multiplier))
# 给列命名为V1到V17
colnames(result_df) <- paste0("V", 1:target_cols)

说明

  • 向量运算在R中是原生优化的,比手动循环效率高得多,尤其适配你这种10973行的大样本场景
  • sapply会自动遍历1到17的乘数,每个乘数和V1做逐元素乘法生成对应列,最后统一转成数据框
  • 用paste0快速生成规范的列名,避免手动逐个命名

如果你偏好更简洁的矩阵操作写法,也可以用:

V1 <- rep(10000, 10973)
target_cols <- 17
result_df <- as.data.frame(outer(V1, 1:target_cols, "*"))
colnames(result_df) <- paste0("V", 1:target_cols)

outer函数会直接生成V1和1到17的乘积矩阵,转成数据框后再设置列名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:05:20