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

如何使用R语言循环向vector存储值?抽样均值存储仅返回单值

问题原因

你现有代码的问题是每次循环都直接对xbar10整体赋值,会直接覆盖上一轮的计算结果,最终只会保留最后一次循环得到的单个均值。

解决方法

方法1:修改循环赋值逻辑(推荐预分配空间)

提前给向量分配对应长度的存储空间,每次循环给对应索引位置赋值,运行效率更高:

# 预分配长度为1000的数值型向量
xbar10 <- numeric(1000)
for (i in 1:1000) {
  # 给第i位赋值本次抽样的均值
  xbar10[i] <- mean(sample(X, 10))
}

如果要沿用你最初的动态追加写法,可修改为每次把新结果拼接到向量末尾,但迭代次数多时性能远低于预分配方案,不推荐:

xbar10 <- numeric()
for (i in 1:1000) {
  xbar10 <- c(xbar10, mean(sample(X, 10)))
}

方法2:使用R原生向量化函数(更简洁的推荐写法)

直接用replicate函数实现重复抽样计算,不需要手写循环,代码更简洁高效:

# 重复执行1000次抽样求均值的操作,结果直接汇总为向量
xbar10 <- replicate(1000, mean(sample(X, 10)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:27:03