Welcome to ClientVPS Mirrors

Creating hyper3 objects in the hyper2 package

Creating hyper3 objects in the hyper2 package

Robin K. S. Hankin

To cite the hyper2 package in publications, please use Hankin (2017). In this vignette I give self-contained short examples of each function that creates or modifies hyper3 objects.

hyper3() # default creation, returns a uniform support function
## log( )

hyper3(list(c(a=1.2),c(b=1),c(a=1.2,b=1)),powers=c(3,4,-7)) # dispatches to hyper3_nv()
## log( (a=1.2)^3 * (a=1.2, b=1)^-7 * (b=1)^4)

hyper3(B=list("a",c("a","b"),"b"),W=list(1.2,c(1.2,1),1),powers=c(3,4,-7)) # dispatches to hyper3_bw()
## log( (a=1.2)^3 * (a=1.2, b=1)^4 * (b=1)^-7)

M <- matrix(rpois(15,3),5,3)
colnames(M) <- letters[1:3]
M
##      a b c
## [1,] 5 2 1
## [2,] 2 5 2
## [3,] 2 6 1
## [4,] 3 4 4
## [5,] 5 3 2
hyper3(M,c(2,3,-1,-5,1))   # dispatches to hyper3_m()
## log( (a=2, b=5, c=2)^3 * (a=2, b=6, c=1)^-1 * (a=3,
## b=4, c=4)^-5 * (a=5, b=2, c=1)^2 * (a=5, b=3, c=2)^1)

H <- hyper3()
H[c(p1=1.3)] <- 5  # terms not present are created
H[c(p2=1  )] <- 2
H[c(p1=1.3,p2=1)] <- -7
H
## log( (p1=1.3)^5 * (p1=1.3, p2=1)^-7 * (p2=1)^2)

H <- hyper3(list(c(a=1.2),c(b=1),c(a=1.2,b=1)),powers=c(3,4,-7))
H[c(a=1.2)] <- 100  # terms present may be modified...
H[c(a=1.2,x=1)] %<>% dec(97) # or incremented
H
## log( (a=1.2)^100 * (a=1.2, b=1)^-7 * (a=1.2, x=1)^-97
## * (b=1)^4)

ordervec2supp3(c("a","a","b","c","a","b","c"))
## log( (a=1)^3 * (a=1, b=1, c=1)^-1 * (a=1, b=1,
## c=2)^-1 * (a=1, b=2, c=2)^-1 * (a=2, b=2, c=2)^-1 *
## (a=3, b=2, c=2)^-1 * (b=1)^2 * (b=1, c=1)^-1 *
## (c=1)^1)

ordervec2supp3(c("a","b"),nonfinishers=c("a","b"))  # a > b >> {a,b}
## log( (a=1)^1 * (a=1, b=2)^-1 * (a=2, b=2)^-1 *
## (b=1)^1)

(jj <- data.frame(throw1=c(a=8,b=2,c=1),throw2=c(5,"X",3)))
##   throw1 throw2
## a      8      5
## b      2      X
## c      1      3
attemptstable2supp3(jj)
## log( (a=1)^2 * (a=1, b=2, c=2)^-1 * (a=2, b=2,
## c=2)^-1 * (b=1)^1 * (b=1, c=1)^-1 * (b=2, c=1)^-1 *
## (b=2, c=2)^-1 * (c=1)^2)

dirichlet3(c(x=6,y=2,z=2),lambda=1.8)  
## log( (x=1.8)^6 * (x=1.8, y=1, z=1)^-10 * (y=1)^2 *
## (z=1)^2)

(H <- rankvec_likelihood(letters[1:5]))
## log( a * (a + b + c + d + e)^-1 * b * (b + c + d +
## e)^-1 * c * (c + d + e)^-1 * d * (d + e)^-1)
H["b"] <- as.weight(1.88)
H
## log( (a=1)^1 * (a=1, b=1.88, c=1, d=1, e=1)^-1 *
## (b=1.88)^1 * (b=1.88, c=1, d=1, e=1)^-1 * (c=1)^1 *
## (c=1, d=1, e=1)^-1 * (d=1)^1 * (d=1, e=1)^-1)
setweight(H,"c",1000)
## log( (a=1)^1 * (a=1, b=1.88, c=1000, d=1, e=1)^-1 *
## (b=1.88)^1 * (b=1.88, c=1000, d=1, e=1)^-1 *
## (c=1000)^1 * (c=1000, d=1, e=1)^-1 * (d=1)^1 * (d=1,
## e=1)^-1)

(o <- constructor_2020_table[1:6,1:4])
##   Constructor AUT STY HUN
## 1        Merc   1   1   1
## 2        Merc   4   2   3
## 3        RBRH  13   3   2
## 4        RBRH Ret   4   5
## 5          MR   3   5   9
## 6          MR   5   9  13
ordertable2supp3(o)
## log( (MR=1)^3 * (MR=1, Merc=1, RBRH=2)^-1 * (MR=1,
## RBRH=2)^-1 * (MR=2)^-1 * (MR=2, Merc=1, RBRH=2)^-2 *
## (MR=2, Merc=2, RBRH=2)^-2 * (MR=2, RBRH=1)^-1 *
## (MR=2, RBRH=2)^-1 * (Merc=1)^4 * (RBRH=1)^3 *
## (RBRH=2)^-1)

M <- matrix(c(NA,9+2i,7+2i,6+5i,NA,2+4i,2+2i,9+3i,NA),3,3)
teams <- letters[1:3]
dimnames(M) <- list("@home" = teams,"@away"=teams)
M
##      @away
## @home    a    b    c
##     a   NA 6+5i 2+2i
##     b 9+2i   NA 9+3i
##     c 7+2i 2+4i   NA
home_away3(M,lambda=1.88)
## log( (a=1)^4 * (a=1, b=1.88)^-11 * (a=1, c=1.88)^-9 *
## (a=1.88)^8 * (a=1.88, b=1)^-11 * (a=1.88, c=1)^-4 *
## (b=1)^9 * (b=1, c=1.88)^-6 * (b=1.88)^18 * (b=1.88,
## c=1)^-12 * (c=1)^5 * (c=1.88)^9)

(H <- hyper3(list(c(a=1.2),c(b=1),c(a=1.2,b=1)),powers=c(3,4,-7)))
## log( (a=1.2)^3 * (a=1.2, b=1)^-7 * (b=1)^4)
powers(H) <- powers(H) * 3
H
## log( (a=1.2)^9 * (a=1.2, b=1)^-21 * (b=1)^12)

References

Hankin, R. K. S. 2017. “Partial Rank Data with the hyper2 Package: Likelihood Functions for Generalized Bradley-Terry Models.” The R Journal 9 (2): 429–39.

Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.

This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.