【发布时间】:2019-05-31 08:41:01
【问题描述】:
> n_toss = 3; # Number of Tosses
> n_trial = 10; # Number of Trials
>
> mySamples <- sample(c(1,0), n_toss, replace = T, prob=c(0.5,0.5))
> mySamples
[1] 1 0 1
>
> mySamples <- replicate(n_trial,
+ {
+ mySamples <- sample(c(1,0), n_toss, replace = T, prob=c(0.5,0.5))
+ })
> mySamples
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 1 1 0 1 0 0 0 0 0
[2,] 1 0 1 1 1 0 0 0 0 0
[3,] 0 0 0 0 1 1 1 1 0 1
>
我有两个问题:
- 为什么
mySamples返回一个矩阵?它不应该返回最后一个(第 10 个)向量,因为 R 一直在评估最后一个语句吗? - 是否可以将
mySamples <- sample(c(1,0), n_toss, replace = T, prob=c(0.5,0.5))这条语句保留在一个单独的函数中并仍然获得相同的结果?
【问题讨论】:
-
1) 如果您喜欢列表,可以使用
simplify = FALSE,复制返回每次迭代的最后一次评估 2) 是的,您可以声明一个新函数并调用它 -
你的意思是复制还是重复?
-
@user1945827,复制。此处未使用代表。
标签: r simulation probability