2016-07-08 16 views
0

다음은 bernoulli 배포판에 정의 된 기능입니다. 나는 새로운 R 사용자입니다. 다음 코드를 잘 이해하지 못했습니다.bernoulli 밀도 함수를 정의하는 방법은 무엇입니까?

dbernoulli <- function(x, prob=0.5) { 
dbinom(x, size=1, prob=prob) 
} 

dbernoulli(y, prob=0.7) 

나는, 우리가 인수 0.5prob를 미리 결정한 정의 함수의 생각, 그래서 우리는 정의 함수를 사용할 때 왜 우리는 0.7로 변경할 수 있습니까? 이 코드들이 공명합니까? 다음과 같이 수정할 수 있습니까?

dbernoulli <- function(x, prob) { 
dbinom(x, size=1, prob=prob) 
} 

dbernoulli(y, prob=0.7) 

답변

2

당신이 function(x, prob=0.5) 쓰기 당신이 말을하는 것은 :

는 두 개의 매개 변수를받는 함수를 작성,

  • x, 기본 값으로 기본값이없는
  • prob0.5입니다.

따라서이 기능 dbernoulli(y)를 호출하는 경우, 그것은 x = y를 할당하고 prob에 값을 전달하지 않았기 때문에 그건 당신이 그것을 정의한 기본 값이기 때문에, 그것은 prob = 0.5을 할당합니다. 당신이 function(x, prob)처럼 prob의 기본 값을 제거하면

은 지금, 당신은 항상 당신이 dbernoulli(y,prob = 0.7)에서와 같이 함수를 호출 할 때 사용할 확률값을 명시해야 할 것이다.

+0

부분 인수 일치 및 인수 대 이름 대 인수 전달을 언급 할 가치가 있습니다. 'dbernoulli (p = 0.7, x = y)'는'dbernoulli (y, 0.7)'와 같습니다. – N8TRO