File: UPsystematicpi2.R

package info (click to toggle)
r-cran-sampling 2.11-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,340 kB
  • sloc: ansic: 21; makefile: 2
file content (23 lines) | stat: -rw-r--r-- 591 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
UPsystematicpi2<-function(pik) 
{
    n=sum(pik)
    n=.as_int(n)
    pik1 = pik[pik > 0 & pik < 1]
    N = length(pik1)
    Vk = cumsum(pik1)
    Vk1=Vk%%1 
    if(Vk1[N]!=0) Vk1[N]=0
    r = c(sort(Vk1), 1)
    cent = (r[1:N] + r[2:(N + 1)])/2
    p = r[2:(N + 1)] - r[1:N]
    A = matrix(c(0, Vk), nrow = N + 1, ncol = N) - 
    t(matrix(cent,nrow = N, ncol = N + 1))
    A = A%%1
    M = matrix(as.integer(A[1:N, ] > A[2:(N + 1), ]), N, N)
    pi21 = M %*% diag(p) %*% t(M)
    pi2 = pik %*% t(pik)
    pi2[pik > 0 & pik < 1, pik > 0 & pik < 1] = pi21
    pi2
}