R'的等价物是什么;“s函数”;复制;用Python?
我试图翻译一些代码来用Python进行Monte Carlo模拟,具体如下,但我很难找到等效的函数复制到我的Jupyter笔记本中R'的等价物是什么;“s函数”;复制;用Python?,python,r,Python,R,我试图翻译一些代码来用Python进行Monte Carlo模拟,具体如下,但我很难找到等效的函数复制到我的Jupyter笔记本中 estima_probabilidad <- function(clase, num_veces = 10000){ resultados <- replicate(num_veces, { # Retorna un vector lógico colegas <- sample(dias, clase, replac
estima_probabilidad <- function(clase, num_veces = 10000){
resultados <- replicate(num_veces, { # Retorna un vector lógico
colegas <- sample(dias, clase, replace = TRUE)
any(duplicated(colegas))
})
# Probabilidad:
mean(resultados)
}
estima_probabilidad(25)
#> [1] 0.572```
estima_probabilidad在R中,replicate
是sapply
的包装,它本身只是一个伪装的循环(优化的)。因此,要在Python中实现replicate
,您需要使用for
循环
例如:
在R
replicate(5,0:2,simplify=FALSE)
用Python
[[*范围(3)]用于范围内(5)]
#[[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
或者更抽象地/一般地:[您的自定义Python函数返回范围(5)内的列表]
转换为复制(5,您的向量化自定义函数,simplify=FALSE)
注:您的R代码不可复制dias
似乎是在别处定义的一个全局变量。我删除了与您的问题无关的代码标记(montecarlo
,statistics
,simulation
)。