关于模拟分布族
Regarding simulating a family of distribution
我需要通过更改 'epso' 的值来模拟以下分布。其中 'epso' 是一个从 0 到 1 递增 0.1 的序列。
epso <- seq(0, 1, .1)
(1-epso)*replicate(n=2,rnorm(30,mean=0,sd=1)) + epso*replicate(n=2,rnorm(30,mean=0,sd=10))
我正在尝试使用应用函数来执行此操作。我认为最合适的应用函数是 lapply。所以这是我的代码。
lapply(epso=seq(0, 1, .1), function(epso) {
(1-epso)*replicate(n=2,rnorm(30,mean=0,sd=1))
+ epso*replicate(n=2,rnorm(30,mean=0,sd=10)) }
)
但是我在这段代码中遇到错误。你能帮我弄清楚吗?
谢谢
lapply
迭代的参数叫做x=
。你不能给它起别的名字。 (通常完全省略名称)。你应该使用
lapply(seq(0, 1, .1), function(epso) {
(1-epso)*replicate(n=2,rnorm(30,mean=0,sd=1)) +
epso*replicate(n=2,rnorm(30,mean=0,sd=10)) }
)
通过为参数命名,您的函数随后成为第一个未命名参数,因此它被提升为 x
值,并且没有任何东西可用作 FUN
参数。
我需要通过更改 'epso' 的值来模拟以下分布。其中 'epso' 是一个从 0 到 1 递增 0.1 的序列。
epso <- seq(0, 1, .1)
(1-epso)*replicate(n=2,rnorm(30,mean=0,sd=1)) + epso*replicate(n=2,rnorm(30,mean=0,sd=10))
我正在尝试使用应用函数来执行此操作。我认为最合适的应用函数是 lapply。所以这是我的代码。
lapply(epso=seq(0, 1, .1), function(epso) {
(1-epso)*replicate(n=2,rnorm(30,mean=0,sd=1))
+ epso*replicate(n=2,rnorm(30,mean=0,sd=10)) }
)
但是我在这段代码中遇到错误。你能帮我弄清楚吗?
谢谢
lapply
迭代的参数叫做x=
。你不能给它起别的名字。 (通常完全省略名称)。你应该使用
lapply(seq(0, 1, .1), function(epso) {
(1-epso)*replicate(n=2,rnorm(30,mean=0,sd=1)) +
epso*replicate(n=2,rnorm(30,mean=0,sd=10)) }
)
通过为参数命名,您的函数随后成为第一个未命名参数,因此它被提升为 x
值,并且没有任何东西可用作 FUN
参数。