두 가지 이벤트에 대해 R 에서 Poisson Table을 생성하려고 합니다. 하나는 평균 1.5 (lambda1)이고 다른 하나는 평균 1.25 (lambda2)입니다. 두 경우 모두 x = 0에서 x = 7 + (7 이상)에 대한 확률을 생성하고 싶습니다. 이것은 아마도 아주 간단하지만 어떻게하는지 알아낼 수없는 것 같습니다! 테이블에 대한 데이터 프레임을 만들 수 있었지만 이전에 함수를 작성한 적이 없기 때문에 매개 변수를 입력하는 방법을 잘 모릅니다.
name <- c("0","1","2","3","4","5","6","7+")
zero <- mat.or.vec(8,1)
C <- data.frame(row.names=name,
"0"=zero,
"1"=zero,
"2"=zero,
"3"=zero,
"4"=zero,
"5"=zero,
"6"=zero,
"7+"=zero)
"For"루프가 필요 dpois(x,lambda1)
하고 어느 시점에서 관련 될 것이라고 생각 합니다. 누군가 제발 도와 줄 수 있습니까?
나는이 사건들이 독립적이라고 가정하고있다. 다음은 조인트 PMF의 테이블을 생성하는 한 가지 방법입니다.
먼저 람다와 함께 정의한 이름은 다음과 같습니다.
name <- c("0","1","2","3","4","5","6","7+")
lambda1 <- 1.5
lambda2 <- 1.25
우리는 사용하여 0-6의 한계 확률을 얻을 수 있습니다 dpois
, 그리고 7 +의 한계 확률은 사용 ppois
과 lower.tail=FALSE
:
p.x <- c(dpois(0:6, lambda1), ppois(7, lambda1, lower.tail=FALSE))
p.y <- c(dpois(0:6, lambda2), ppois(7, lambda2, lower.tail=FALSE))
더 나은 방법은 람다가 주어지면이를 수행하는 함수를 만드는 것입니다.
그런 다음 외부 제품 (실제로 R 외부에서 손으로하는 것과 동일한 작업)을 가져 와서 이름을 설정합니다.
p.xy <- outer(p.x, p.y)
rownames(p.xy) <- colnames(p.xy) <- name
이제 끝났습니다.
0 1 2 3 4 5
0 6.392786e-02 7.990983e-02 4.994364e-02 2.080985e-02 6.503078e-03 1.625770e-03
1 9.589179e-02 1.198647e-01 7.491546e-02 3.121478e-02 9.754617e-03 2.438654e-03
2 7.191884e-02 8.989855e-02 5.618660e-02 2.341108e-02 7.315963e-03 1.828991e-03
3 3.595942e-02 4.494928e-02 2.809330e-02 1.170554e-02 3.657982e-03 9.144954e-04
4 1.348478e-02 1.685598e-02 1.053499e-02 4.389578e-03 1.371743e-03 3.429358e-04
5 4.045435e-03 5.056794e-03 3.160496e-03 1.316873e-03 4.115229e-04 1.028807e-04
6 1.011359e-03 1.264198e-03 7.901240e-04 3.292183e-04 1.028807e-04 2.572018e-05
7+ 4.858139e-05 6.072674e-05 3.795421e-05 1.581426e-05 4.941955e-06 1.235489e-06
6 7+
0 3.387020e-04 1.094781e-05
1 5.080530e-04 1.642171e-05
2 3.810397e-04 1.231628e-05
3 1.905199e-04 6.158140e-06
4 7.144495e-05 2.309303e-06
5 2.143349e-05 6.927908e-07
6 5.358371e-06 1.731977e-07
7+ 2.573935e-07 8.319685e-09
원래 예상했던 것처럼 루프를 사용할 수도 있지만 이는 동일한 솔루션에 대한 더 많은 우회 방법입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다