R:如何使replicate()和sapply()产生相同的结果?

R:如何使replicate()和sapply()产生相同的结果?,r,R,我用replicate() > set.seed(123) > z <- replicate(5, mean(rnorm(10)) 尽管帮助文件中有丰富的文档,但我无法生成一个能够集成产生z的五次重复的sapply代码。 事实上,我得到的最佳结果包括replicates()本身: set.seed(123) q <- sapply(replicate(5, rnorm(10)), mean) set.seed(123) 你想要:sapply(1:5,函数(x)均值(r

我用
replicate()

> set.seed(123)
> z <- replicate(5, mean(rnorm(10))
尽管
帮助
文件中有丰富的文档,但我无法生成一个能够集成产生
z
的五次重复的
sapply
代码。 事实上,我得到的最佳结果包括
replicates()
本身:

set.seed(123)
q <- sapply(replicate(5, rnorm(10)), mean)
set.seed(123)

你想要:
sapply(1:5,函数(x)均值(rnorm(10)))
在这种情况下,
replicate
将是一个更好的选择
apply(t(replicate(5,rnorm(10))),1,mean)
谢谢@Jeremycg,它很有效。如果我理解了你函数的含义,它相当于
sapply(1:5,函数(x){mean(rnorm(10))}
。我可以问一下为什么
replicate
在这里是一个更好的选择吗?你想:
sapply(1:5,函数(x)平均值(rnorm(10))
在这种情况下,
replicate
将是一个更好的选择
apply(t)(replicate(5,rnorm(10)),1,mean)
谢谢@Jeremycg,它能工作。如果我理解了你函数的含义,它相当于
sapply(1:5,函数(x){mean(rnorm(10))}
。请问为什么
replicate
在这里是一个更好的选择?
set.seed(123)
q <- sapply(replicate(5, rnorm(10)), mean)