Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R'的等价物是什么;“s函数”;复制;用Python?_Python_R - Fatal编程技术网

R'的等价物是什么;“s函数”;复制;用Python?

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

我试图翻译一些代码来用Python进行Monte Carlo模拟,具体如下,但我很难找到等效的函数复制到我的Jupyter笔记本中

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
)。