在R中如何编辑循环将每个样本的均值保存到矩阵中
R循环保存样本均值到矩阵修改方案
你可以提前初始化对应长度的矩阵,在循环迭代过程中逐行写入结果即可,修改后完整代码如下:
set.seed(89235) values <- c(10, 5, 10, 25, 50, 100, 500, 1000) n <- length(values) # 初始化结果矩阵,2列分别存储样本量和对应均值 result_mat <- matrix(nrow = n, ncol = 2, dimnames = list(NULL, c("sample_size", "mean"))) for (i in 1:n){ mymean <- mean(rnorm(values[i], mean = 0, sd = 1)) cat("sample size:", values[i], "mean:", mymean, fill = TRUE) # 将当前迭代结果写入矩阵第i行 result_mat[i, ] <- c(values[i], mymean) } # 运行后可直接调用result_mat查看所有结果 print(result_mat)
改动说明
- 提前分配内存创建结果矩阵,相比循环中动态追加内容的运行效率更高
- 循环内新增赋值逻辑,每次迭代同步将当前样本量和均值写入矩阵对应行位
- 如果后续需要存储更多统计量(比如标准差、中位数等),仅需修改初始化矩阵的
ncol参数和对应列名即可
内容的提问来源于stack exchange,提问作者zbh5080
相关产品推荐
相关产品推荐

