多次执行函数并用结果创建矩阵
Execute function multiple times and create matrix with results
以下代码采用向量 V1 并创建一个名为 BV1 的自举样本。我想运行 i 次并将所有 BVi 向量放在矩阵 MV 中。如果可能,使用 apply
系列的函数而不是 for
循环。
V1 <- c(0.18, 0.2, 0.24, 0.35, -0.22, -0.17, 0.28, -0.28, -0.14, 0.03, 0.87, -0.2, 0.06, -0.1, -0.72, 0.18, 0.01, 0.31, -0.36, 0.61, -0.16, -0.07, -0.13, 0.01, -0.09, 0.26, -0.14, 0.08, -0.62, -0.2, 0.3, -0.21, -0.11, 0.05, 0.06, -0.28, -0.27, 0.17, 0.42, -0.05, -0.15, 0.05, -0.07, -0.22, -0.34, 0.16, 0.34, 0.1, -0.12, 0.24, 0.45, 0.37, 0.61, 0.9, -0.25, 0.02)
BV1 <- sample(V1, length(V1), replace=TRUE)
然后我将使用该矩阵来计算自举汇总统计的分布。感谢您的帮助。
我们可以使用replicate
重复sample
'n'次并输出为matrix
.
replicate(4, sample(V1, length(V1), replace=TRUE))
如果我们看replicate
function (n, expr, simplify = "array")
sapply(integer(n), eval.parent(substitute(function(...) expr)),
simplify = simplify)
它使用 sapply
(因此涵盖了 OP 对 apply
函数系列的需求)
以下代码采用向量 V1 并创建一个名为 BV1 的自举样本。我想运行 i 次并将所有 BVi 向量放在矩阵 MV 中。如果可能,使用 apply
系列的函数而不是 for
循环。
V1 <- c(0.18, 0.2, 0.24, 0.35, -0.22, -0.17, 0.28, -0.28, -0.14, 0.03, 0.87, -0.2, 0.06, -0.1, -0.72, 0.18, 0.01, 0.31, -0.36, 0.61, -0.16, -0.07, -0.13, 0.01, -0.09, 0.26, -0.14, 0.08, -0.62, -0.2, 0.3, -0.21, -0.11, 0.05, 0.06, -0.28, -0.27, 0.17, 0.42, -0.05, -0.15, 0.05, -0.07, -0.22, -0.34, 0.16, 0.34, 0.1, -0.12, 0.24, 0.45, 0.37, 0.61, 0.9, -0.25, 0.02)
BV1 <- sample(V1, length(V1), replace=TRUE)
然后我将使用该矩阵来计算自举汇总统计的分布。感谢您的帮助。
我们可以使用replicate
重复sample
'n'次并输出为matrix
.
replicate(4, sample(V1, length(V1), replace=TRUE))
如果我们看replicate
function (n, expr, simplify = "array") sapply(integer(n), eval.parent(substitute(function(...) expr)), simplify = simplify)
它使用 sapply
(因此涵盖了 OP 对 apply
函数系列的需求)