我在R中有一个函数f,其中涉及绘制许多形式的样本
sample <- rnorm(k,0,1)
其中k是一些整数。我想将分布的类型作为该函数的参数,以便快速生成
形式的样本sample <- runif(k,0,1)
或其他概率分布。换句话说,我希望能够写f(k,uniform)并生成第二种采样,而f(k,normal)则是第一种。
这可能吗?我希望避免每次更改发行版时都必须重复修改函数中的代码。
答案 0 :(得分:2)
不知道这有多有用,但是:
f <- function(k,g){g(k)}
与f(100,runif)
或f(100,rnorm)
一样使用
作为变体:
f <- function(k,g,...){g(k,...)}
这也将允许使用f(100,rnorm,10,2)
答案 1 :(得分:2)
这是您所寻找的有希望的,正在开发中的实现。
distributions
package is available on Github,但在CRAN上尚不可用。
这是一个示例用法:
image: docker:latest
stages:
- build
- deploy
build:
stage: build
image: node:8.11.3
script:
- export API_URL="https://xxxxxxxxxxxxxxxxxx.cloudfront.net/"
- npm install
- npm run build
- echo "BUILD SUCCESSFULLY"
artifacts:
paths:
- public/
expire_in: 20 mins
environment:
name: production
only:
- master
deploy:
stage: deploy
image: python:3.5
dependencies:
- build
script:
- export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
- export AWS_SECRET_ACCESS_KEY=kC0DF4gdVhB2Oahxxxxxxxxxxxxxxxxxxxxxxxxxx1
- export S3_BUCKET_NAME=s3://name-s3s3s3
#- export DISTRIBUTION_ID=$DISTRIBUTION_ID
- pip install awscli --upgrade --user
- export PATH=~/.local/bin:$PATH
- aws s3 sync --acl public-read --delete public $S3_BUCKET_NAME
#- aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths '/*'
- echo "DEPLOYED SUCCESSFULLY"
environment:
name: production
only:
- master